<!-- Generated by scripts/build-skill-reference.mjs from conformance/flow-language/catalog.json. Do not edit. -->

# Action reference

Every Amazon Connect action type the flow-as-code tooling models, as the
`flowascode_contact_flow` resource writes it. An action is

```hcl
action {
  id   = "<identifier>"
  next = "<identifier>"   # omitted on terminal actions
  <block> {
    <attribute> = <value>
  }
  condition {             # where the type takes conditions
    operator = "Equals"
    operands = ["True"]
    next     = "<identifier>"
  }
  error {                 # one per branch
    type = "<ErrorType>"
    next = "<identifier>"
  }
}
```

Values: a reference key is `"<type>:<name>"` (`"queue:support"`), bound once
in the resource's `refs` map; never an ARN. A "number" is an HCL number even
where Connect's JSON holds a string. An object is written `attr = { ... }`
with the nested attributes listed under it; a map is `attr = { key = "value" }`.

"Required" error branches are the ones lint reports missing and the service
refuses a flow without; they were checked against the service on 2026-09-29.
Where a branch depends on a parameter, the shape says so.

54 modeled types follow. Any other type (7: `CheckVoiceId`, `StartVoiceIdStream`, `RouteContactToAgent`, `LoadContactContent`, `AuthenticateParticipant`, `CheckSegmentMembership`, `TransferParticipantToThirdParty`) is written as a `generic` block:

```hcl
generic {
  type       = "<Type>"
  parameters = jsonencode({ ... })
}
```

## CompleteOutboundCall

Block `complete_outbound_call`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-completeoutboundcall.html).

- Legal in: OUTBOUND_WHISPER, MODULE.
- Channels: VOICE only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required.
- Error branches: none; the service refuses any.
- Conditions: none.

| HCL attribute                   | Flow language key            | Value              | Required |
| ------------------------------- | ---------------------------- | ------------------ | -------- |
| `caller_id`                     | `CallerId`                   | object             | no       |
| .`number`                       | `Number`                     | string or JSONPath | yes      |
| `connection_time_limit_seconds` | `ConnectionTimeLimitSeconds` | number             | no       |

## CreateCase

Block `create_case`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/createcase.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `ContactNotLinked` (required when `link_contact_to_case` is `"true"`); `NoMatchingError` (required).
- Conditions: none.

| HCL attribute          | Flow language key   | Value                                 | Required |
| ---------------------- | ------------------- | ------------------------------------- | -------- |
| `link_contact_to_case` | `LinkContactToCase` | `"true"`, `"false"`                   | yes      |
| `contact_to_link`      | `ContactToLink`     | `"Current"`, `"Related"`              | no       |
| `case_template_id`     | `CaseTemplateId`    | reference key (`casetemplate:<name>`) | yes      |
| `case_request_fields`  | `CaseRequestFields` | map of strings                        | no       |

- `case_request_fields` keys: `assigned_queue`, `assigned_user`, `case_id`, `case_reason`, `created_by`, `customer_id`, `last_closed_datetime`, `created_datetime`, `last_updated_datetime`, `last_updated_user`, `reference_number`, `reference_id`, `status`, `summary`, `title`, or a reference key (`casefield:<name>`).

## CreateTask

Block `create_task`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/createtask.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.
- Parameters: at most one of `DelaySeconds`, `ScheduledTime`.

| HCL attribute      | Flow language key | Value                                 | Required |
| ------------------ | ----------------- | ------------------------------------- | -------- |
| `contact_flow_id`  | `ContactFlowId`   | reference key (`flow:<name>`)         | no       |
| `attributes`       | `Attributes`      | map of strings                        | no       |
| `name`             | `Name`            | string                                | yes      |
| `description`      | `Description`     | string                                | no       |
| `references`       | `References`      | jsonencode(...)                       | no       |
| `delay_seconds`    | `DelaySeconds`    | number                                | no       |
| `scheduled_time`   | `ScheduledTime`   | string or JSONPath                    | no       |
| `task_template_id` | `TaskTemplateId`  | reference key (`tasktemplate:<name>`) | no       |

## CreateWisdomSession

Block `create_wisdom_session`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/createwisdomsession.html).

- Legal in: every flow type.
- Channels: VOICE only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute          | Flow language key    | Value                              | Required |
| ---------------------- | -------------------- | ---------------------------------- | -------- |
| `wisdom_assistant_arn` | `WisdomAssistantArn` | reference key (`assistant:<name>`) | yes      |

## DequeueContactAndTransferToQueue

Block `dequeue_contact_and_transfer_to_queue`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-dequeuecontactandtransfertoqueue.html).

- Legal in: CUSTOMER_QUEUE, MODULE.
- `next`: required.
- Error branches: `QueueAtCapacity` (required); `NoMatchingError` (required).
- Conditions: none.
- Parameters: at most one of `QueueId`, `AgentId`.

| HCL attribute | Flow language key | Value                          | Required |
| ------------- | ----------------- | ------------------------------ | -------- |
| `queue_id`    | `QueueId`         | reference key (`queue:<name>`) | no       |
| `agent_id`    | `AgentId`         | reference key (`queue:<name>`) | no       |

## EndFlowModuleExecution

Block `end_flow_module_execution`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/endflowmoduleexecution.html).

- Legal in: MODULE.
- Terminal: no `next`, no branches.

No parameters: `end_flow_module_execution {}`.

## GetCase

Block `get_case`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/getcase.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `ContactNotLinked` (required when `link_contact_to_case` is `"true"`); `MultipleFound`; `NoneFound`; `NoMatchingError` (required).
- Conditions: none.

| HCL attribute           | Flow language key    | Value                    | Required |
| ----------------------- | -------------------- | ------------------------ | -------- |
| `link_contact_to_case`  | `LinkContactToCase`  | `"true"`, `"false"`      | yes      |
| `contact_to_link`       | `ContactToLink`      | `"Current"`, `"Related"` | no       |
| `get_last_updated_case` | `GetLastUpdatedCase` | `"true"`, `"false"`      | yes      |
| `customer_id`           | `CustomerId`         | string or JSONPath       | no       |
| `case_request_fields`   | `CaseRequestFields`  | map of strings           | no       |
| `case_response_fields`  | `CaseResponseFields` | list                     | no       |

- `case_request_fields` keys: `assigned_queue`, `assigned_user`, `case_id`, `case_reason`, `created_by`, `customer_id`, `last_closed_datetime`, `created_datetime`, `last_updated_datetime`, `last_updated_user`, `reference_number`, `reference_id`, `status`, `summary`, `title`, or a reference key (`casefield:<name>`).
- `case_response_fields` values: `assigned_queue`, `assigned_user`, `case_id`, `case_reason`, `created_by`, `customer_id`, `last_closed_datetime`, `created_datetime`, `last_updated_datetime`, `last_updated_user`, `reference_number`, `reference_id`, `status`, `summary`, `title`, or a reference key (`casefield:<name>`).

## InvokeFlowModule

Block `invoke_flow_module`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-language-actions-invoke-flow-module.html).

- Legal in: CONTACT_FLOW, MODULE.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute    | Flow language key | Value                           | Required |
| ---------------- | ----------------- | ------------------------------- | -------- |
| `flow_module_id` | `FlowModuleId`    | reference key (`module:<name>`) | yes      |

## StartOutboundChatContact

Block `start_outbound_chat_contact`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-startoutboundchatcontact.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute            | Flow language key      | Value                                | Required |
| ------------------------ | ---------------------- | ------------------------------------ | -------- |
| `source_endpoint`        | `SourceEndpoint`       | object                               | yes      |
| .`address`               | `Address`              | reference key (`phonenumber:<name>`) | yes      |
| .`type`                  | `Type`                 | `"CONNECT_PHONENUMBER_ARN"`          | yes      |
| `destination_endpoint`   | `DestinationEndpoint`  | object                               | yes      |
| .`address`               | `Address`              | string or JSONPath                   | yes      |
| .`type`                  | `Type`                 | `"TELEPHONE_NUMBER"`                 | yes      |
| `contact_flow_arn`       | `ContactFlowArn`       | reference key (`flow:<name>`)        | yes      |
| `contact_subtype`        | `ContactSubtype`       | `"connect:SMS"`                      | yes      |
| `initial_system_message` | `InitialSystemMessage` | object                               | no       |
| .`content`               | `Content`              | string or JSONPath                   | yes      |
| `related_contact`        | `RelatedContact`       | `"CURRENT"`                          | no       |

## TagContact

Block `tag_contact`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-tagcontact.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute | Flow language key | Value          | Required |
| ------------- | ----------------- | -------------- | -------- |
| `tags`        | `Tags`            | map of strings | yes      |

## TransferContactToAgent

Block `transfer_contact_to_agent`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-transfercontacttoagent.html).

- Legal in: AGENT_TRANSFER, QUEUE_TRANSFER, MODULE.
- Terminal: no `next`, no branches.

No parameters: `transfer_contact_to_agent {}`.

## TransferContactToQueue

Block `transfer_contact_to_queue`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-transfercontacttoqueue.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, MODULE.
- `next`: required.
- Error branches: `QueueAtCapacity` (required); `NoMatchingError` (required).
- Conditions: none.

No parameters: `transfer_contact_to_queue {}`.

## UntagContact

Block `untag_contact`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-untagcontact.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute | Flow language key | Value | Required |
| ------------- | ----------------- | ----- | -------- |
| `tag_keys`    | `TagKeys`         | list  | yes      |

## UpdateCase

Block `update_case`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/updatecase.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `ContactNotLinked` (required when `link_contact_to_case` is `"true"`); `NoMatchingError` (required).
- Conditions: none.

| HCL attribute          | Flow language key   | Value                    | Required |
| ---------------------- | ------------------- | ------------------------ | -------- |
| `link_contact_to_case` | `LinkContactToCase` | `"true"`, `"false"`      | yes      |
| `contact_to_link`      | `ContactToLink`     | `"Current"`, `"Related"` | no       |
| `case_id`              | `CaseId`            | string or JSONPath       | yes      |
| `case_request_fields`  | `CaseRequestFields` | map of strings           | no       |

- `case_request_fields` keys: `assigned_queue`, `assigned_user`, `case_id`, `case_reason`, `created_by`, `customer_id`, `last_closed_datetime`, `created_datetime`, `last_updated_datetime`, `last_updated_user`, `reference_number`, `reference_id`, `status`, `summary`, `title`, or a reference key (`casefield:<name>`).

## UpdateContactAttributes

Block `update_contact_attributes`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactattributes.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute    | Flow language key | Value                    | Required |
| ---------------- | ----------------- | ------------------------ | -------- |
| `attributes`     | `Attributes`      | map of strings           | yes      |
| `target_contact` | `TargetContact`   | `"Current"`, `"Related"` | yes      |

## UpdateContactCallbackNumber

Block `update_contact_callback_number`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactcallbacknumber.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required.
- Error branches: `InvalidCallbackNumber` (required); `CallbackNumberNotDialable` (required).
- Conditions: none.

| HCL attribute     | Flow language key | Value            | Required |
| ----------------- | ----------------- | ---------------- | -------- |
| `callback_number` | `CallbackNumber`  | JSONPath ("$.…") | yes      |

## UpdateContactData

Block `update_contact_data`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactdata.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute                        | Flow language key                 | Value                    | Required |
| ------------------------------------ | --------------------------------- | ------------------------ | -------- |
| `name`                               | `Name`                            | string or JSONPath       | no       |
| `description`                        | `Description`                     | string                   | no       |
| `language_code`                      | `LanguageCode`                    | string                   | no       |
| `customer_id`                        | `CustomerId`                      | string                   | no       |
| `references`                         | `References`                      | map of strings           | no       |
| `is_voice_id_streaming_enabled`      | `IsVoiceIdStreamingEnabled`       | `"TRUE"`, `"FALSE"`      | no       |
| `is_voice_authentication_enabled`    | `IsVoiceAuthenticationEnabled`    | `"TRUE"`, `"FALSE"`      | no       |
| `is_fraud_detection_enabled`         | `IsFraudDetectionEnabled`         | `"TRUE"`, `"FALSE"`      | no       |
| `voice_authentication_threshold`     | `VoiceAuthenticationThreshold`    | number                   | no       |
| `voice_authentication_response_time` | `VoiceAuthenticationResponseTime` | number                   | no       |
| `fraud_detection_threshold`          | `FraudDetectionThreshold`         | number                   | no       |
| `watchlist_id`                       | `WatchlistId`                     | string                   | no       |
| `wisdom_session_arn`                 | `WisdomSessionArn`                | string                   | no       |
| `target_contact`                     | `TargetContact`                   | `"Current"`, `"Related"` | no       |

## UpdateContactEventHooks

Block `update_contact_event_hooks`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontacteventhooks.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute | Flow language key | Value          | Required |
| ------------- | ----------------- | -------------- | -------- |
| `event_hooks` | `EventHooks`      | map of strings | yes      |

- `event_hooks` keys: `AgentHold`, `AgentWhisper`, `CustomerHold`, `CustomerQueue`, `CustomerRemaining`, `CustomerWhisper`, `DefaultAgentUI`, `DisconnectAgentUI`, `PauseContact`, `ResumeContact`.

## UpdateContactMediaProcessing

Block `update_contact_media_processing`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactmediaprocessing.html).

- Legal in: every flow type.
- Channels: CHAT only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required.
- Error branches: `NoMatchingError` (required); `ChannelMismatch`: the contact's channel is not chat; the page does not say it must be defined, and rule 41's probe decides whether the service requires it.
- Conditions: none.

| HCL attribute                   | Flow language key            | Value                           | Required |
| ------------------------------- | ---------------------------- | ------------------------------- | -------- |
| `chat_processor`                | `ChatProcessor`              | object                          | yes      |
| .`processing_enabled`           | `ProcessingEnabled`          | `"True"`, `"False"`             | yes      |
| .`lambda_processor_arn`         | `LambdaProcessorARN`         | reference key (`lambda:<name>`) | no       |
| .`chat_processor_settings`      | `ChatProcessorSettings`      | object                          | no       |
| .`deliver_unprocessed_messages` | `DeliverUnprocessedMessages` | `"True"`, `"False"`             | yes      |

## UpdateContactMediaStreamingBehavior

Block `update_contact_media_streaming_behavior`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactmediastreamingbehavior.html).

- Legal in: CONTACT_FLOW, CUSTOMER_QUEUE, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_WHISPER, AGENT_WHISPER, OUTBOUND_WHISPER, MODULE.
- Channels: VOICE only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute           | Flow language key     | Value                     | Required |
| ----------------------- | --------------------- | ------------------------- | -------- |
| `media_streaming_state` | `MediaStreamingState` | `"Enabled"`, `"Disabled"` | yes      |
| `participants`          | `Participants`        | list                      | yes      |
| .`participant_type`     | `ParticipantType`     | `"Customer"`              | yes      |
| .`media_directions`     | `MediaDirections`     | list                      | yes      |
| `media_stream_type`     | `MediaStreamType`     | `"Audio"`                 | yes      |

## UpdateContactRecordingAndAnalyticsBehavior

Block `update_contact_recording_and_analytics_behavior`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactrecordingandanalyticsbehavior.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required); `ChannelMismatch` (required); `InFlightRedactionConfigurationFailed`: ChatBehavior is defined (the service refuses the chat form without it); the builder does not write that form.
- Conditions: none.
- Parameters: exactly one of `ChatBehavior`, `VoiceBehavior`, `ScreenRecordingBehavior`.

| HCL attribute                   | Flow language key            | Value                     | Required |
| ------------------------------- | ---------------------------- | ------------------------- | -------- |
| `voice_behavior`                | `VoiceBehavior`              | object                    | no       |
| .`voice_recording_behavior`     | `VoiceRecordingBehavior`     | object                    | yes      |
| .`recorded_participants`        | `RecordedParticipants`       | list                      | yes      |
| .`ivr_recording_behavior`       | `IVRRecordingBehavior`       | `"Enabled"`, `"Disabled"` | no       |
| .`voice_analytics_behavior`     | `VoiceAnalyticsBehavior`     | jsonencode(...)           | no       |
| `chat_behavior`                 | `ChatBehavior`               | jsonencode(...)           | no       |
| `screen_recording_behavior`     | `ScreenRecordingBehavior`    | object                    | no       |
| .`screen_recorded_participants` | `ScreenRecordedParticipants` | list                      | yes      |

## UpdateContactRecordingBehavior

Block `update_contact_recording_behavior`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactrecordingbehavior.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, OUTBOUND_WHISPER, CUSTOMER_QUEUE, MODULE.
- `next`: required.
- Error branches: none; the service refuses any.
- Conditions: none.

| HCL attribute                   | Flow language key            | Value                     | Required |
| ------------------------------- | ---------------------------- | ------------------------- | -------- |
| `recording_behavior`            | `RecordingBehavior`          | object                    | yes      |
| .`recorded_participants`        | `RecordedParticipants`       | list                      | yes      |
| .`screen_recorded_participants` | `ScreenRecordedParticipants` | list                      | no       |
| .`ivr_recording_behavior`       | `IVRRecordingBehavior`       | `"Enabled"`, `"Disabled"` | no       |
| `analytics_behavior`            | `AnalyticsBehavior`          | jsonencode(...)           | no       |

## ResumeContact

Block `resume_contact`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactresumecontact.html).

- Legal in: every flow type.
- Channels: TASK only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

No parameters: `resume_contact {}`.

## UpdateContactRoutingBehavior

Block `update_contact_routing_behavior`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontactroutingbehavior.html).

- Legal in: CONTACT_FLOW, MODULE.
- `next`: required.
- Error branches: none; the service refuses any.
- Conditions: none.
- Parameters: never both of `QueuePriority`, `QueueTimeAdjustmentSeconds`.

| HCL attribute                   | Flow language key            | Value  | Required |
| ------------------------------- | ---------------------------- | ------ | -------- |
| `queue_priority`                | `QueuePriority`              | number | no       |
| `queue_time_adjustment_seconds` | `QueueTimeAdjustmentSeconds` | number | no       |

## UpdateContactTargetQueue

Block `update_contact_target_queue`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontacttargetqueue.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, MODULE.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.
- Parameters: at most one of `QueueId`, `AgentId`.

| HCL attribute | Flow language key | Value                          | Required |
| ------------- | ----------------- | ------------------------------ | -------- |
| `queue_id`    | `QueueId`         | reference key (`queue:<name>`) | no       |
| `agent_id`    | `AgentId`         | reference key (`queue:<name>`) | no       |

## UpdateContactTextToSpeechVoice

Block `update_contact_text_to_speech_voice`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatecontacttexttospeechvoice.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError`.
- Conditions: none.

| HCL attribute           | Flow language key    | Value                                        | Required |
| ----------------------- | -------------------- | -------------------------------------------- | -------- |
| `text_to_speech_voice`  | `TextToSpeechVoice`  | string or JSONPath                           | yes      |
| `text_to_speech_engine` | `TextToSpeechEngine` | `"Standard"`, `"Neural"`, `"Generative"`     | no       |
| `text_to_speech_style`  | `TextToSpeechStyle`  | `"None"`, `"Conversational"`, `"Newscaster"` | no       |

## UpdatePreviousContactParticipantState

Block `update_previous_contact_participant_state`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/contact-actions-updatepreviouscontactparticipantstate.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, MODULE.
- Channels: VOICE only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute                        | Flow language key                 | Value                                            | Required |
| ------------------------------------ | --------------------------------- | ------------------------------------------------ | -------- |
| `previous_contact_participant_state` | `PreviousContactParticipantState` | `"AgentOnHold"`, `"CustomerOnHold"`, `"OffHold"` | yes      |

## ConnectParticipantWithLexBot

Block `connect_participant_with_lex_bot`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/participant-actions-connectparticipantwithlexbot.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required; write the `NoMatchingCondition` branch's target, as the console does.
- Error branches: `InputTimeLimitExceeded`; `NoMatchingError` (required); `NoMatchingCondition`.
- Conditions: Equals on values the action defines.
- Parameters: at most one of `PromptId`, `Text`, `SSML`.
- Parameters: exactly one of `LexBot`, `LexV2Bot`.

| HCL attribute             | Flow language key       | Value                           | Required |
| ------------------------- | ----------------------- | ------------------------------- | -------- |
| `prompt_id`               | `PromptId`              | reference key (`prompt:<name>`) | no       |
| `text`                    | `Text`                  | string                          | no       |
| `ssml`                    | `SSML`                  | string                          | no       |
| `media`                   | `Media`                 | object                          | no       |
| .`uri`                    | `Uri`                   | string                          | yes      |
| .`source_type`            | `SourceType`            | `"S3"`                          | yes      |
| .`media_type`             | `MediaType`             | `"Audio"`                       | yes      |
| `lex_v2_bot`              | `LexV2Bot`              | object                          | no       |
| .`alias_arn`              | `AliasArn`              | reference key (`lex:<name>`)    | yes      |
| `lex_bot`                 | `LexBot`                | object                          | no       |
| .`name`                   | `Name`                  | string                          | yes      |
| .`region`                 | `Region`                | string                          | yes      |
| .`alias`                  | `Alias`                 | string                          | yes      |
| `lex_session_attributes`  | `LexSessionAttributes`  | map of strings                  | no       |
| `lex_initialization_data` | `LexInitializationData` | object                          | no       |
| .`initial_message`        | `InitialMessage`        | string                          | yes      |
| `lex_timeout_seconds`     | `LexTimeoutSeconds`     | object                          | no       |
| .`text`                   | `Text`                  | number                          | yes      |

## DisconnectParticipant

Block `disconnect_participant`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/participant-actions-disconnectparticipant.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- Terminal: no `next`, no branches.

No parameters: `disconnect_participant {}`.

## GetParticipantInput

Block `get_participant_input`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/participant-actions-getparticipantinput.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required; write the `NoMatchingCondition` branch's target, as the console does; with `StoreInput` "True", which has no `NoMatchingCondition` branch, name the action that should follow.
- Error branches: `InputTimeLimitExceeded`: StoreInput is "False" or absent, where the service refuses the action without it; with StoreInput "True" it refuses the branch (sandbox, 2026-09-29; the page does not say); `NoMatchingCondition`: StoreInput is "False": the service refused the action without it on 2026-09-29 (sandbox, us-west-2), with or without conditions, which the page does not say; with StoreInput "True" the page forbids it; `InvalidPhoneNumber`: StoreInput is "True" and PhoneNumberValidation is specified; `NoMatchingError` (required).
- Conditions: Equals on one key each (0 to 9, * or #).
- Parameters: at most one of `PromptId`, `Text`, `SSML`.
- Fields of `input_validation`: exactly one of `PhoneNumberValidation`, `CustomValidation`.
- Shape with `StoreInput` "True": needs `InputValidation`; must not wire `NoMatchingCondition`, `InputTimeLimitExceeded`; takes no conditions.
- Shape with `StoreInput` not "True": needs `StoreInput`; needs branches `InputTimeLimitExceeded`, `NoMatchingCondition`; must not carry `InputValidation`; must not wire `InvalidPhoneNumber`.

| HCL attribute                    | Flow language key            | Value                           | Required |
| -------------------------------- | ---------------------------- | ------------------------------- | -------- |
| `prompt_id`                      | `PromptId`                   | reference key (`prompt:<name>`) | no       |
| `text`                           | `Text`                       | string                          | no       |
| `ssml`                           | `SSML`                       | string                          | no       |
| `media`                          | `Media`                      | object                          | no       |
| .`uri`                           | `Uri`                        | string                          | yes      |
| .`source_type`                   | `SourceType`                 | `"S3"`                          | yes      |
| .`media_type`                    | `MediaType`                  | `"Audio"`                       | yes      |
| `input_time_limit_seconds`       | `InputTimeLimitSeconds`      | number                          | yes      |
| `store_input`                    | `StoreInput`                 | `"True"`, `"False"`             | yes      |
| `input_validation`               | `InputValidation`            | object                          | no       |
| .`phone_number_validation`       | `PhoneNumberValidation`      | object                          | no       |
| .`number_format`                 | `NumberFormat`               | `"Local"`, `"E164"`             | yes      |
| .`country_code`                  | `CountryCode`                | string                          | no       |
| .`custom_validation`             | `CustomValidation`           | object                          | no       |
| .`maximum_length`                | `MaximumLength`              | number                          | yes      |
| `input_encryption`               | `InputEncryption`            | object                          | no       |
| .`encryption_key_id`             | `EncryptionKeyId`            | string                          | yes      |
| .`key`                           | `Key`                        | string                          | yes      |
| `dtmf_configuration`             | `DTMFConfiguration`          | object                          | no       |
| .`input_termination_sequence`    | `InputTerminationSequence`   | string                          | no       |
| .`disable_cancel_key`            | `DisableCancelKey`           | `"True"`, `"False"`             | no       |
| .`interdigit_time_limit_seconds` | `InterdigitTimeLimitSeconds` | number                          | no       |

## MessageParticipant

Block `message_participant`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/participant-actions-messageparticipant.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_WHISPER, AGENT_WHISPER, OUTBOUND_WHISPER, CUSTOMER_QUEUE, MODULE.
- `next`: required.
- Error branches: `NoMatchingError`.
- Conditions: none.
- Parameters: exactly one of `PromptId`, `Text`, `SSML`.

| HCL attribute  | Flow language key | Value                           | Required |
| -------------- | ----------------- | ------------------------------- | -------- |
| `prompt_id`    | `PromptId`        | reference key (`prompt:<name>`) | no       |
| `text`         | `Text`            | string                          | no       |
| `ssml`         | `SSML`            | string                          | no       |
| `media`        | `Media`           | object                          | no       |
| .`uri`         | `Uri`             | string                          | yes      |
| .`source_type` | `SourceType`      | `"S3"`                          | yes      |
| .`media_type`  | `MediaType`       | `"Audio"`                       | yes      |

## MessageParticipantIteratively

Block `message_participant_iteratively`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/participant-actions-messageparticipantiteratively.html).

- Legal in: CUSTOMER_QUEUE, CUSTOMER_HOLD, AGENT_HOLD, MODULE.
- `next`: optional; the console leaves it out.
- Error branches: `NoMatchingError`.
- Conditions: Equals on values the action defines.

| HCL attribute                 | Flow language key           | Value                           | Required |
| ----------------------------- | --------------------------- | ------------------------------- | -------- |
| `messages`                    | `Messages`                  | list                            | yes      |
| .`text`                       | `Text`                      | string                          | no       |
| .`prompt_id`                  | `PromptId`                  | reference key (`prompt:<name>`) | no       |
| .`ssml`                       | `SSML`                      | string                          | no       |
| .`media`                      | `Media`                     | object                          | no       |
| .`uri`                        | `Uri`                       | string                          | yes      |
| .`source_type`                | `SourceType`                | `"S3"`                          | yes      |
| .`media_type`                 | `MediaType`                 | `"Audio"`                       | yes      |
| `interrupt_frequency_seconds` | `InterruptFrequencySeconds` | number                          | no       |

## ShowView

Block `show_view`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/participant-actions-showview.html).

- Legal in: CONTACT_FLOW, CUSTOMER_QUEUE, MODULE.
- Channels: CHAT only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required; write the `NoMatchingError` branch's target, as the console does.
- Error branches: `NoMatchingCondition` (required); `NoMatchingError` (required); `TimeLimitExceeded` (required).
- Conditions: Equals on values the action defines.

| HCL attribute                   | Flow language key            | Value                         | Required |
| ------------------------------- | ---------------------------- | ----------------------------- | -------- |
| `view_resource`                 | `ViewResource`               | object                        | yes      |
| .`id`                           | `Id`                         | reference key (`view:<name>`) | yes      |
| .`version`                      | `Version`                    | string                        | no       |
| `invocation_time_limit_seconds` | `InvocationTimeLimitSeconds` | number                        | yes      |
| `view_data`                     | `ViewData`                   | jsonencode(...)               | no       |
| `sensitive_data_configuration`  | `SensitiveDataConfiguration` | object                        | no       |
| .`hide_response_on`             | `HideResponseOn`             | list                          | yes      |

## CheckHoursOfOperation

Block `check_hours_of_operation`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-checkhoursofoperation.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required; write the `False` condition's target, as the console does.
- Error branches: `NoMatchingError` (required).
- Conditions: exactly the Equals conditions listed.

| HCL attribute           | Flow language key    | Value                          | Required |
| ----------------------- | -------------------- | ------------------------------ | -------- |
| `hours_of_operation_id` | `HoursOfOperationId` | reference key (`hours:<name>`) | no       |

## CheckMetricData

Block `check_metric_data`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-checkmetricdata.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required; write the `NoMatchingError` branch's target, as the console does.
- Error branches: `NoMatchingError` (required); `NoMatchingCondition` (required).
- Conditions: Number* operators on the value the action produces; at least 1.
- Parameters: at most one of `QueueId`, `AgentId`.

| HCL attribute | Flow language key | Value                                                                                                                                             | Required |
| ------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -------- |
| `metric_type` | `MetricType`      | `"NumberOfAgentsAvailable"`, `"NumberOfAgentsStaffed"`, `"NumberOfAgentsOnline"`, `"OldestContactInQueueAgeSeconds"`, `"NumberOfContactsInQueue"` | yes      |
| `queue_id`    | `QueueId`         | reference key (`queue:<name>`)                                                                                                                    | no       |
| `agent_id`    | `AgentId`         | reference key (`queue:<name>`)                                                                                                                    | no       |

## CheckOutboundCallStatus

Block `check_outbound_call_status`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-checkoutboundcallstatus.html).

- Legal in: every flow type.
- Channels: VOICE only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required; write the `NoMatchingError` branch's target, as the console does.
- Error branches: `NoMatchingError` (required).
- Conditions: Equals on values the action defines.

No parameters: `check_outbound_call_status {}`.

## Compare

Block `compare`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-compare.html).

- Legal in: every flow type.
- `next`: required; write the `NoMatchingCondition` branch's target, as the console does.
- Error branches: `NoMatchingCondition` (required).
- Conditions: any operator, any operand.

| HCL attribute      | Flow language key | Value            | Required |
| ------------------ | ----------------- | ---------------- | -------- |
| `comparison_value` | `ComparisonValue` | JSONPath ("$.…") | yes      |

## DistributeByPercentage

Block `distribute_by_percentage`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-distributebypercentage.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required; write the `NoMatchingCondition` branch's target, as the console does.
- Error branches: `NoMatchingCondition` (required).
- Conditions: Number* operators on the value the action produces.

No parameters: `distribute_by_percentage {}`.

## EndFlowExecution

Block `end_flow_execution`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-endflowexecution.html).

- Legal in: CUSTOMER_WHISPER, AGENT_WHISPER, OUTBOUND_WHISPER, CUSTOMER_QUEUE, MODULE.
- Terminal: no `next`, no branches.

No parameters: `end_flow_execution {}`.

## GetMetricData

Block `get_metric_data`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-getmetricdata.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.
- Parameters: at most one of `QueueId`, `AgentId`.

| HCL attribute   | Flow language key | Value                          | Required |
| --------------- | ----------------- | ------------------------------ | -------- |
| `queue_id`      | `QueueId`         | reference key (`queue:<name>`) | no       |
| `agent_id`      | `AgentId`         | reference key (`queue:<name>`) | no       |
| `queue_channel` | `QueueChannel`    | `"Voice"`, `"Chat"`            | no       |

## Loop

Block `loop`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-loop.html).

- Legal in: every flow type.
- `next`: required; write the `DoneLooping` condition's target, as the console does.
- Error branches: `NoMatchingError`.
- Conditions: exactly the Equals conditions listed.

| HCL attribute | Flow language key | Value  | Required |
| ------------- | ----------------- | ------ | -------- |
| `loop_count`  | `LoopCount`       | number | yes      |

## TransferToFlow

Block `transfer_to_flow`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-transfertoflow.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, MODULE.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute     | Flow language key | Value                         | Required |
| ----------------- | ----------------- | ----------------------------- | -------- |
| `contact_flow_id` | `ContactFlowId`   | reference key (`flow:<name>`) | yes      |

## UpdateFlowAttributes

Block `update_flow_attributes`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-updateflowattributes.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute     | Flow language key | Value              | Required |
| ----------------- | ----------------- | ------------------ | -------- |
| `flow_attributes` | `FlowAttributes`  | map of strings     | yes      |
| .`value`          | `Value`           | string or JSONPath | yes      |

## UpdateFlowLoggingBehavior

Block `update_flow_logging_behavior`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-updateflowloggingbehavior.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: none; the service refuses any.
- Conditions: none.

| HCL attribute           | Flow language key     | Value                     | Required |
| ----------------------- | --------------------- | ------------------------- | -------- |
| `flow_logging_behavior` | `FlowLoggingBehavior` | `"Enabled"`, `"Disabled"` | yes      |

## UpdateRoutingCriteria

Block `update_routing_criteria`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-updateroutingcriteria.html).

- Legal in: CONTACT_FLOW, CUSTOMER_QUEUE, AGENT_TRANSFER, QUEUE_TRANSFER, MODULE.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute          | Flow language key   | Value           | Required |
| ---------------------- | ------------------- | --------------- | -------- |
| `routing_criteria`     | `RoutingCriteria`   | object          | yes      |
| .`steps`               | `Steps`             | list            | yes      |
| .`expression`          | `Expression`        | jsonencode(...) | yes      |
| .`expiry`              | `Expiry`            | object          | no       |
| .`duration_in_seconds` | `DurationInSeconds` | number          | yes      |

## Wait

Block `wait`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/flow-control-actions-wait.html).

- Legal in: every flow type.
- Channels: CHAT only; lint warns wherever it appears, since a flow's channel is the contact's, not the document's.
- `next`: required; write the `NoMatchingError` branch's target, as the console does.
- Error branches: `NoMatchingError` (required); `ParticipantNotFound`: Events includes BotParticipantDisconnected.
- Conditions: Equals on values the action defines.

| HCL attribute        | Flow language key  | Value  | Required |
| -------------------- | ------------------ | ------ | -------- |
| `time_limit_seconds` | `TimeLimitSeconds` | number | yes      |
| `events`             | `Events`           | list   | no       |

## AssociateContactToCustomerProfile

Block `associate_contact_to_customer_profile`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-associatecontacttocustomerprofile.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute           | Flow language key     | Value              | Required |
| ----------------------- | --------------------- | ------------------ | -------- |
| `profile_request_data`  | `ProfileRequestData`  | object             | yes      |
| .`profile_id`           | `ProfileId`           | string or JSONPath | yes      |
| .`contact_id`           | `ContactId`           | string or JSONPath | yes      |
| `profile_response_data` | `ProfileResponseData` | list               | no       |

## CreateCallbackContact

Block `create_callback_contact`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-createcallbackcontact.html).

- Legal in: CONTACT_FLOW, AGENT_TRANSFER, QUEUE_TRANSFER, CUSTOMER_QUEUE, MODULE.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.
- Parameters: at most one of `QueueId`, `AgentId`.

| HCL attribute                 | Flow language key           | Value                          | Required |
| ----------------------------- | --------------------------- | ------------------------------ | -------- |
| `queue_id`                    | `QueueId`                   | reference key (`queue:<name>`) | no       |
| `agent_id`                    | `AgentId`                   | reference key (`queue:<name>`) | no       |
| `initial_call_delay_seconds`  | `InitialCallDelaySeconds`   | number                         | yes      |
| `maximum_connection_attempts` | `MaximumConnectionAttempts` | number                         | yes      |
| `retry_delay_seconds`         | `RetryDelaySeconds`         | number                         | yes      |
| `contact_flow_id`             | `ContactFlowId`             | reference key (`flow:<name>`)  | no       |
| `caller_id`                   | `CallerId`                  | string or JSONPath             | no       |

## CreateCustomerProfile

Block `create_customer_profile`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-createcustomerprofile.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute           | Flow language key     | Value          | Required |
| ----------------------- | --------------------- | -------------- | -------- |
| `profile_request_data`  | `ProfileRequestData`  | map of strings | no       |
| `profile_response_data` | `ProfileResponseData` | list           | no       |

- `profile_request_data` keys: `FirstName`, `MiddleName`, `LastName`, `PhoneNumber`, `EmailAddress`, `AccountNumber`, `AdditionalInformation`, `PartyType`, `BusinessName`, `BirthDate`, `Gender`, `MobilePhoneNumber`, `HomePhoneNumber`, `BusinessPhoneNumber`, `BusinessEmailAddress`, `Address1`, `Address2`, `Address3`, `Address4`, `City`, `County`, `Country`, `PostalCode`, `Province`, `State`, `ShippingAddress1`, `ShippingAddress2`, `ShippingAddress3`, `ShippingAddress4`, `ShippingCity`, `ShippingCounty`, `ShippingCountry`, `ShippingPostalCode`, `ShippingProvince`, `ShippingState`, `MailingAddress1`, `MailingAddress2`, `MailingAddress3`, `MailingAddress4`, `MailingCity`, `MailingCounty`, `MailingCountry`, `MailingPostalCode`, `MailingProvince`, `MailingState`, `BillingAddress1`, `BillingAddress2`, `BillingAddress3`, `BillingAddress4`, `BillingCity`, `BillingCounty`, `BillingCountry`, `BillingPostalCode`, `BillingProvince`, `BillingState`, or a name matching `^Attributes\.[^.]+$`.
- `profile_response_data` values: `FirstName`, `MiddleName`, `LastName`, `PhoneNumber`, `EmailAddress`, `AccountNumber`, `AdditionalInformation`, `PartyType`, `BusinessName`, `BirthDate`, `Gender`, `MobilePhoneNumber`, `HomePhoneNumber`, `BusinessPhoneNumber`, `BusinessEmailAddress`, `Address1`, `Address2`, `Address3`, `Address4`, `City`, `County`, `Country`, `PostalCode`, `Province`, `State`, `ShippingAddress1`, `ShippingAddress2`, `ShippingAddress3`, `ShippingAddress4`, `ShippingCity`, `ShippingCounty`, `ShippingCountry`, `ShippingPostalCode`, `ShippingProvince`, `ShippingState`, `MailingAddress1`, `MailingAddress2`, `MailingAddress3`, `MailingAddress4`, `MailingCity`, `MailingCounty`, `MailingCountry`, `MailingPostalCode`, `MailingProvince`, `MailingState`, `BillingAddress1`, `BillingAddress2`, `BillingAddress3`, `BillingAddress4`, `BillingCity`, `BillingCounty`, `BillingCountry`, `BillingPostalCode`, `BillingProvince`, `BillingState`, or a name matching `^Attributes\.[^.]+$`.

## InvokeLambdaFunction

Block `invoke_lambda_function`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-invokelambdafunction.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute                   | Flow language key            | Value                             | Required |
| ------------------------------- | ---------------------------- | --------------------------------- | -------- |
| `lambda_function_arn`           | `LambdaFunctionARN`          | reference key (`lambda:<name>`)   | yes      |
| `invocation_time_limit_seconds` | `InvocationTimeLimitSeconds` | number                            | yes      |
| `invocation_type`               | `InvocationType`             | `"SYNCHRONOUS"`, `"ASYNCHRONOUS"` | yes      |
| `lambda_invocation_attributes`  | `LambdaInvocationAttributes` | map of strings                    | no       |
| `response_validation`           | `ResponseValidation`         | object                            | no       |
| .`response_type`                | `ResponseType`               | `"STRING_MAP"`, `"JSON"`          | yes      |

## GetCustomerProfile

Block `get_customer_profile`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-getcustomerprofile.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required); `MultipleFoundError`; `NoneFoundError`.
- Conditions: none.
- Fields of `profile_request_data`: exactly one of (`IdentifierName` and `IdentifierValue`), (`SearchCriteria` and `LogicalOperator`).

| HCL attribute           | Flow language key     | Value              | Required |
| ----------------------- | --------------------- | ------------------ | -------- |
| `profile_request_data`  | `ProfileRequestData`  | object             | yes      |
| .`identifier_name`      | `IdentifierName`      | string             | no       |
| .`identifier_value`     | `IdentifierValue`     | string or JSONPath | no       |
| .`search_criteria`      | `SearchCriteria`      | list               | no       |
| .`identifier_name`      | `IdentifierName`      | string             | yes      |
| .`identifier_value`     | `IdentifierValue`     | string or JSONPath | yes      |
| .`logical_operator`     | `LogicalOperator`     | `"AND"`, `"OR"`    | no       |
| `profile_response_data` | `ProfileResponseData` | list               | no       |

- `profile_response_data` values: `FirstName`, `MiddleName`, `LastName`, `PhoneNumber`, `EmailAddress`, `AccountNumber`, `AdditionalInformation`, `PartyType`, `BusinessName`, `BirthDate`, `Gender`, `MobilePhoneNumber`, `HomePhoneNumber`, `BusinessPhoneNumber`, `BusinessEmailAddress`, `Address1`, `Address2`, `Address3`, `Address4`, `City`, `County`, `Country`, `PostalCode`, `Province`, `State`, `ShippingAddress1`, `ShippingAddress2`, `ShippingAddress3`, `ShippingAddress4`, `ShippingCity`, `ShippingCounty`, `ShippingCountry`, `ShippingPostalCode`, `ShippingProvince`, `ShippingState`, `MailingAddress1`, `MailingAddress2`, `MailingAddress3`, `MailingAddress4`, `MailingCity`, `MailingCounty`, `MailingCountry`, `MailingPostalCode`, `MailingProvince`, `MailingState`, `BillingAddress1`, `BillingAddress2`, `BillingAddress3`, `BillingAddress4`, `BillingCity`, `BillingCounty`, `BillingCountry`, `BillingPostalCode`, `BillingProvince`, `BillingState`, or a name matching `^Attributes\.[^.]+$`.

## GetCustomerProfileObject

Block `get_customer_profile_object`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-getcustomerprofileobject.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required); `NoneFoundError`.
- Conditions: none.
- Fields of `profile_request_data`: exactly one of `UseLatest`, (`IdentifierName` and `IdentifierValue`).

| HCL attribute           | Flow language key     | Value               | Required |
| ----------------------- | --------------------- | ------------------- | -------- |
| `profile_request_data`  | `ProfileRequestData`  | object              | yes      |
| .`profile_id`           | `ProfileId`           | string or JSONPath  | yes      |
| .`object_type`          | `ObjectType`          | string              | yes      |
| .`identifier_name`      | `IdentifierName`      | string              | no       |
| .`identifier_value`     | `IdentifierValue`     | string or JSONPath  | no       |
| .`use_latest`           | `UseLatest`           | `"true"`, `"false"` | no       |
| `profile_response_data` | `ProfileResponseData` | list                | no       |

- `profile_response_data` values: `AssetAssetId`, `AssetProfileId`, `AssetAssetName`, `AssetSerialNumber`, `AssetModelNumber`, `AssetModelName`, `AssetProductSKU`, `AssetPurchaseDate`, `AssetUsageEndDate`, `AssetStatus`, `AssetPrice`, `AssetQuantity`, `AssetDescription`, `AssetAdditionalInformation`, `AssetDataSource`, `OrderOrderId`, `OrderProfileId`, `OrderCustomerEmail`, `OrderCustomerPhone`, `OrderCreatedDate`, `OrderUpdatedDate`, `OrderProcessedDate`, `OrderClosedDate`, `OrderCancelledDate`, `OrderCancelReason`, `OrderName`, `OrderAdditionalInformation`, `OrderGateway`, `OrderStatus`, `OrderStatusCode`, `OrderStatusUrl`, `OrderCreditCardNumber`, `OrderCreditCardCompany`, `OrderFulfillmentStatus`, `OrderTotalPrice`, `OrderTotalTax`, `OrderTotalDiscounts`, `OrderTotalItemsPrice`, `OrderTotalShippingPrice`, `OrderTotalTipReceived`, `OrderCurrency`, `OrderTotalWeight`, `OrderBillingName`, `OrderBillingAddress1`, `OrderBillingAddress2`, `OrderBillingAddress3`, `OrderBillingAddress4`, `OrderBillingCity`, `OrderBillingCounty`, `OrderBillingCountry`, `OrderBillingPostalCode`, `OrderBillingProvince`, `OrderBillingState`, `OrderShippingName`, `OrderShippingAddress1`, `OrderShippingAddress2`, `OrderShippingAddress3`, `OrderShippingAddress4`, `OrderShippingCity`, `OrderShippingCounty`, `OrderShippingCountry`, `OrderShippingPostalCode`, `OrderShippingProvince`, `OrderShippingState`, `CaseCaseId`, `CaseProfileId`, `CaseTitle`, `CaseSummary`, `CaseStatus`, `CaseReason`, `CaseCreatedBy`, `CaseCreatedDate`, `CaseUpdatedDate`, `CaseClosedDate`, `CaseAdditionalInformation`, `CaseDataSource`, or a name matching `^AssetAttributes\.[^.]+$` or `^OrderAttributes\.[^.]+$` or `^CaseAttributes\.[^.]+$` or `^ObjectAttributes\.[^.]+$`.

## GetCalculatedAttributesForCustomerProfile

Block `get_calculated_attributes_for_customer_profile`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-getcalculatedattributesforcustomerprofile.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required); `NoneFoundError`.
- Conditions: none.

| HCL attribute           | Flow language key     | Value              | Required |
| ----------------------- | --------------------- | ------------------ | -------- |
| `profile_request_data`  | `ProfileRequestData`  | object             | yes      |
| .`profile_id`           | `ProfileId`           | string or JSONPath | yes      |
| `profile_response_data` | `ProfileResponseData` | list               | no       |

- `profile_response_data` values: `CalculatedAttributes._average_hold_time`, `CalculatedAttributes._frequent_caller`, or a name matching `^CalculatedAttributes\.[^.]+$`.

## UpdateCustomerProfile

Block `update_customer_profile`. [Action page](https://docs.aws.amazon.com/connect/latest/devguide/interactions-updatecustomerprofile.html).

- Legal in: every flow type.
- `next`: required.
- Error branches: `NoMatchingError` (required).
- Conditions: none.

| HCL attribute           | Flow language key     | Value          | Required |
| ----------------------- | --------------------- | -------------- | -------- |
| `profile_request_data`  | `ProfileRequestData`  | map of strings | no       |
| `profile_response_data` | `ProfileResponseData` | list           | no       |

- `profile_request_data` keys: `FirstName`, `MiddleName`, `LastName`, `PhoneNumber`, `EmailAddress`, `AccountNumber`, `AdditionalInformation`, `PartyType`, `BusinessName`, `BirthDate`, `Gender`, `MobilePhoneNumber`, `HomePhoneNumber`, `BusinessPhoneNumber`, `BusinessEmailAddress`, `Address1`, `Address2`, `Address3`, `Address4`, `City`, `County`, `Country`, `PostalCode`, `Province`, `State`, `ShippingAddress1`, `ShippingAddress2`, `ShippingAddress3`, `ShippingAddress4`, `ShippingCity`, `ShippingCounty`, `ShippingCountry`, `ShippingPostalCode`, `ShippingProvince`, `ShippingState`, `MailingAddress1`, `MailingAddress2`, `MailingAddress3`, `MailingAddress4`, `MailingCity`, `MailingCounty`, `MailingCountry`, `MailingPostalCode`, `MailingProvince`, `MailingState`, `BillingAddress1`, `BillingAddress2`, `BillingAddress3`, `BillingAddress4`, `BillingCity`, `BillingCounty`, `BillingCountry`, `BillingPostalCode`, `BillingProvince`, `BillingState`, or a name matching `^Attributes\.[^.]+$`.
- `profile_response_data` values: `FirstName`, `MiddleName`, `LastName`, `PhoneNumber`, `EmailAddress`, `AccountNumber`, `AdditionalInformation`, `PartyType`, `BusinessName`, `BirthDate`, `Gender`, `MobilePhoneNumber`, `HomePhoneNumber`, `BusinessPhoneNumber`, `BusinessEmailAddress`, `Address1`, `Address2`, `Address3`, `Address4`, `City`, `County`, `Country`, `PostalCode`, `Province`, `State`, `ShippingAddress1`, `ShippingAddress2`, `ShippingAddress3`, `ShippingAddress4`, `ShippingCity`, `ShippingCounty`, `ShippingCountry`, `ShippingPostalCode`, `ShippingProvince`, `ShippingState`, `MailingAddress1`, `MailingAddress2`, `MailingAddress3`, `MailingAddress4`, `MailingCity`, `MailingCounty`, `MailingCountry`, `MailingPostalCode`, `MailingProvince`, `MailingState`, `BillingAddress1`, `BillingAddress2`, `BillingAddress3`, `BillingAddress4`, `BillingCity`, `BillingCounty`, `BillingCountry`, `BillingPostalCode`, `BillingProvince`, `BillingState`, or a name matching `^Attributes\.[^.]+$`.
