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.
| Parameter | Type | Required | Description |
id | String | yes | Wire 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.
| Parameter | Type | Required | Description |
value | Map<String, String> | yes | 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. |
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.
| Parameter | Type | Required | Description |
value | TargetContact | no | 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. |
next
next(target: Handle) -> UpdateContactAttributesHandle
Wire the success-path transition. Substitutes the target's auto-generated UUID into the wire Transitions.NextAction slot.
| Parameter | Type | Required | Description |
target | Handle | yes | The 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.
| Parameter | Type | Required | Description |
target | Handle | yes | Block 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.
| Parameter | Type | Required | Description |
id | String | yes | Wire 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.
| Parameter | Type | Required | Description |
x | i64 | yes | Canvas X coordinate. |
y | i64 | yes | Canvas 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.
| Parameter | Type | Required | Description |
key | String | yes | Wire key name (under Metadata.ActionMetadata[<id>]). |
value | Dynamic | yes | Any JSON-serializable Rhai value. |
overwrite_meta
overwrite_meta(value: Map) -> UpdateContactAttributesHandle
Full-replace escape hatch, overwrite the entire ActionMetadata blob.
| Parameter | Type | Required | Description |
value | Map | yes | Replacement 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.
| Parameter | Type | Required | Description |
param | String | yes | Parameter name (e.g. "Text"). |
flag | String | yes | Flag name ("useDynamic", "MFLAG_*", etc.). |
value | Dynamic | yes | Flag value. |
overwrite_meta_param
overwrite_meta_param(param: String, value: Map) -> UpdateContactAttributesHandle
Replace the entire flag map for one parameter.
| Parameter | Type | Required | Description |
param | String | yes | Parameter name. |
value | Map | yes | Replacement flag map for the parameter. |
overwrite_parameters
overwrite_parameters(value: Map) -> UpdateContactAttributesHandle
Wire-shape escape hatch, overwrite the entire Parameters blob.
| Parameter | Type | Required | Description |
value | Map | yes | Replacement parameter map for the block. |
raw_transitions
raw_transitions(value: Map) -> UpdateContactAttributesHandle
Wire-shape escape hatch for non-canonical transition objects.
| Parameter | Type | Required | Description |
value | Map | yes | Replacement transitions map (raw JSON shape). |