UpdateContactAttributes

typed block

Sets a collection of contact attributes on either the current contact or the related contact. With this type of operation, either all attributes are set or none are set.

Factories

UpdateContactAttributes

UpdateContactAttributes() -> UpdateContactAttributesHandle

Construct a fresh UpdateContactAttributes block with an auto-generated id.

Use this when authoring from scratch, the runtime picks a UUID automatically.

UpdateContactAttributes

UpdateContactAttributes(id: String) -> UpdateContactAttributesHandle

Construct a UpdateContactAttributes block with an operator-supplied id.

ParameterTypeRequiredDescription
idStringyesWire identifier, typically a Connect UUID restored by decompile so round-trips stay byte-stable.

Methods

attributes

attributes(value: Map<String, String>) -> UpdateContactAttributesHandle

Set the Attributes parameter. Operator-defined attribute map written into the targeted contact's record. Keys are arbitrary attribute names; values are literal strings, numbers or JSONPath references ($.StoredCustomerInput, $.Lex.IntentName, etc.). Measured 2026-10-14: Connect refuses the empty map, a string or an array in place of the map, and a value that is a boolean or an object; it also refuses an empty key and an empty value.

ParameterTypeRequiredDescription
valueMap<String, String>yesOperator-defined attribute map written into the targeted contact's record. Keys are arbitrary attribute names; values are literal strings, numbers or JSONPath references ($.StoredCustomerInput, $.Lex.IntentName, etc.). Measured 2026-10-14: Connect refuses the empty map, a string or an array in place of the map, and a value that is a boolean or an object; it also refuses an empty key and an empty value.

target_contact

target_contact(value?: TargetContact) -> UpdateContactAttributesHandle

Set the TargetContact parameter. Either "Current" or "Related". Must be defined statically. Measured 2026-10-14: Connect accepts the two exactly as spelled and the empty string, and refuses Previous, another casing and a JSONPath.

ParameterTypeRequiredDescription
valueTargetContactnoEither "Current" or "Related". Must be defined statically. Measured 2026-10-14: Connect accepts the two exactly as spelled and the empty string, and refuses Previous, another casing and a JSONPath.

next

next(target: Handle) -> UpdateContactAttributesHandle

Wire the success-path transition. Substitutes the target's auto-generated UUID into the wire Transitions.NextAction slot.

ParameterTypeRequiredDescription
targetHandleyesThe block to route to once this block completes successfully.

on_no_matching

on_no_matching(target: Handle) -> UpdateContactAttributesHandle

Wire an error transition for NoMatchingError: if no other Error matches.

ParameterTypeRequiredDescription
targetHandleyesBlock to route to on NoMatchingError. if no other Error matches.

set_id

set_id(id: String) -> UpdateContactAttributesHandle

Override the auto-generated identifier with a specific wire id.

ParameterTypeRequiredDescription
idStringyesWire identifier override. Decompile threads this through to round-trip Connect-side UUIDs.

meta_position

meta_position(x: i64, y: i64) -> UpdateContactAttributesHandle

Set the block's canvas position. Mostly auto-emitted by decompile; authored scripts call Flow.auto_layout() instead and let the layout pass fill positions in.

ParameterTypeRequiredDescription
xi64yesCanvas X coordinate.
yi64yesCanvas Y coordinate.

set_meta

set_meta(key: String, value: Dynamic) -> UpdateContactAttributesHandle

Single-key escape hatch, set one ActionMetadata key by name when the typed meta_* setters don't cover it.

ParameterTypeRequiredDescription
keyStringyesWire key name (under Metadata.ActionMetadata[<id>]).
valueDynamicyesAny JSON-serializable Rhai value.

overwrite_meta

overwrite_meta(value: Map) -> UpdateContactAttributesHandle

Full-replace escape hatch, overwrite the entire ActionMetadata blob.

ParameterTypeRequiredDescription
valueMapyesReplacement map for the entire ActionMetadata sub-object.

set_meta_param

set_meta_param(param: String, flag: String, value: Dynamic) -> UpdateContactAttributesHandle

Set a single per-parameter ActionMetadata flag.

ParameterTypeRequiredDescription
paramStringyesParameter name (e.g. "Text").
flagStringyesFlag name ("useDynamic", "MFLAG_*", etc.).
valueDynamicyesFlag value.

overwrite_meta_param

overwrite_meta_param(param: String, value: Map) -> UpdateContactAttributesHandle

Replace the entire flag map for one parameter.

ParameterTypeRequiredDescription
paramStringyesParameter name.
valueMapyesReplacement flag map for the parameter.

overwrite_parameters

overwrite_parameters(value: Map) -> UpdateContactAttributesHandle

Wire-shape escape hatch, overwrite the entire Parameters blob.

ParameterTypeRequiredDescription
valueMapyesReplacement parameter map for the block.

raw_transitions

raw_transitions(value: Map) -> UpdateContactAttributesHandle

Wire-shape escape hatch for non-canonical transition objects.

ParameterTypeRequiredDescription
valueMapyesReplacement transitions map (raw JSON shape).