Amazon Connect Service

2025/12/15 - Amazon Connect Service - 1 updated api methods

Changes  Amazon Connect now supports outbound WhatsApp contacts via the Send message block or StartOutboundChatContact API. Send proactive messages for surveys, reminders, and updates. Offer customers the option to switch to WhatsApp while in queue, eliminating hold time.

StartOutboundChatContact (updated) Link ΒΆ
Changes (request)
{'InitialTemplatedSystemMessage': {'KnowledgeBaseId': 'string',
                                   'MessageTemplateId': 'string',
                                   'TemplateAttributes': {'CustomAttributes': {'string': 'string'},
                                                          'CustomerProfileAttributes': 'string'}}}

Initiates a new outbound SMS contact to a customer. Response of this API provides the ContactId of the outbound SMS contact created.

SourceEndpoint only supports Endpoints with CONNECT_PHONENUMBER_ARN as Type and DestinationEndpoint only supports Endpoints with TELEPHONE_NUMBER as Type. ContactFlowId initiates the flow to manage the new SMS contact created.

This API can be used to initiate outbound SMS contacts for an agent, or it can also deflect an ongoing contact to an outbound SMS contact by using the StartOutboundChatContact Flow Action.

For more information about using SMS in Amazon Connect, see the following topics in the Amazon Connect Administrator Guide:

See also: AWS API Documentation

Request Syntax

client.start_outbound_chat_contact(
    SourceEndpoint={
        'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN'|'EMAIL_ADDRESS',
        'Address': 'string'
    },
    DestinationEndpoint={
        'Type': 'TELEPHONE_NUMBER'|'VOIP'|'CONTACT_FLOW'|'CONNECT_PHONENUMBER_ARN'|'EMAIL_ADDRESS',
        'Address': 'string'
    },
    InstanceId='string',
    SegmentAttributes={
        'string': {
            'ValueString': 'string',
            'ValueMap': {
                'string': {'... recursive ...'}
            },
            'ValueInteger': 123,
            'ValueList': [
                {'... recursive ...'},
            ],
            'ValueArn': 'string'
        }
    },
    Attributes={
        'string': 'string'
    },
    ContactFlowId='string',
    ChatDurationInMinutes=123,
    ParticipantDetails={
        'DisplayName': 'string'
    },
    InitialSystemMessage={
        'ContentType': 'string',
        'Content': 'string'
    },
    InitialTemplatedSystemMessage={
        'KnowledgeBaseId': 'string',
        'MessageTemplateId': 'string',
        'TemplateAttributes': {
            'CustomAttributes': {
                'string': 'string'
            },
            'CustomerProfileAttributes': 'string'
        }
    },
    RelatedContactId='string',
    SupportedMessagingContentTypes=[
        'string',
    ],
    ClientToken='string'
)
type SourceEndpoint:

dict

param SourceEndpoint:

[REQUIRED]

Information about the endpoint.

  • Type (string) --

    Type of the endpoint.

  • Address (string) --

    Address of the endpoint.

type DestinationEndpoint:

dict

param DestinationEndpoint:

[REQUIRED]

Information about the endpoint.

  • Type (string) --

    Type of the endpoint.

  • Address (string) --

    Address of the endpoint.

type InstanceId:

string

param InstanceId:

[REQUIRED]

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

type SegmentAttributes:

dict

param SegmentAttributes:

[REQUIRED]

A set of system defined key-value pairs stored on individual contact segments using an attribute map. The attributes are standard Amazon Connect attributes. They can be accessed in flows.

  • Attribute keys can include only alphanumeric, -, and _.

  • This field can be used to show channel subtype, such as connect:Guide and connect:SMS.

  • (string) --

    • (dict) --

      A value for a segment attribute. This is structured as a map where the key is valueString and the value is a string.

      • ValueString (string) --

        The value of a segment attribute.

      • ValueMap (dict) --

        The value of a segment attribute.

        • (string) --

          • (dict) --

            A value for a segment attribute. This is structured as a map where the key is valueString and the value is a string.

      • ValueInteger (integer) --

        The value of a segment attribute.

      • ValueList (list) --

        The value of a segment attribute. This is only supported for system-defined attributes, not for user-defined attributes.

        • (dict) --

          A value for a segment attribute. This is structured as a map where the key is valueString and the value is a string.

      • ValueArn (string) --

        The value of a segment attribute that has to be a valid ARN. This is only supported for system-defined attributes, not for user-defined attributes.

type Attributes:

dict

param Attributes:

A custom key-value pair using an attribute map. The attributes are standard Amazon Connect attributes, and can be accessed in flows just like any other contact attributes.

  • (string) --

    • (string) --

type ContactFlowId:

string

param ContactFlowId:

[REQUIRED]

The identifier of the flow for the call. To see the ContactFlowId in the Amazon Connect console user interface, on the navigation menu go to Routing, Contact Flows. Choose the flow. On the flow page, under the name of the flow, choose Show additional flow information. The ContactFlowId is the last part of the ARN, shown here in bold:

  • arn:aws:connect:us-west-2:xxxxxxxxxxxx:instance/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/contact-flow/123ec456-a007-89c0-1234-xxxxxxxxxxxx

type ChatDurationInMinutes:

integer

param ChatDurationInMinutes:

The total duration of the newly started chat session. If not specified, the chat session duration defaults to 25 hour. The minimum configurable time is 60 minutes. The maximum configurable time is 10,080 minutes (7 days).

type ParticipantDetails:

dict

param ParticipantDetails:

The customer's details.

  • DisplayName (string) -- [REQUIRED]

    Display name of the participant.

type InitialSystemMessage:

dict

param InitialSystemMessage:

A chat message.

  • ContentType (string) -- [REQUIRED]

    The type of the content. Supported types are text/plain, text/markdown, application/json, and application/vnd.amazonaws.connect.message.interactive.response.

  • Content (string) -- [REQUIRED]

    The content of the chat message.

    • For text/plain and text/markdown, the Length Constraints are Minimum of 1, Maximum of 1024.

    • For application/json, the Length Constraints are Minimum of 1, Maximum of 12000.

    • For application/vnd.amazonaws.connect.message.interactive.response, the Length Constraints are Minimum of 1, Maximum of 12288.

type InitialTemplatedSystemMessage:

dict

param InitialTemplatedSystemMessage:

Information about template message configuration.

  • KnowledgeBaseId (string) -- [REQUIRED]

    The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

  • MessageTemplateId (string) -- [REQUIRED]

    The identifier of the message template Id.

  • TemplateAttributes (dict) -- [REQUIRED]

    Information about template attributes, that is, CustomAttributes or CustomerProfileAttributes.

    • CustomAttributes (dict) --

      An object that specifies the custom attributes values to use for variables in the message template. This object contains different categories of key-value pairs. Each key defines a variable or placeholder in the message template.

      • (string) --

        • (string) --

    • CustomerProfileAttributes (string) --

      An object that specifies the customer profile attributes values to use for variables in the message template. This object contains different categories of key-value pairs. Each key defines a variable or placeholder in the message template.

type RelatedContactId:

string

param RelatedContactId:

The unique identifier for an Amazon Connect contact. This identifier is related to the contact starting.

type SupportedMessagingContentTypes:

list

param SupportedMessagingContentTypes:

The supported chat message content types. Supported types are:

  • text/plain

  • text/markdown

  • application/json, application/vnd.amazonaws.connect.message.interactive

  • application/vnd.amazonaws.connect.message.interactive.response

Content types must always contain text/plain. You can then put any other supported type in the list. For example, all the following lists are valid because they contain text/plain:

  • [text/plain, text/markdown, application/json]

  • [text/markdown, text/plain]

  • [text/plain, application/json, application/vnd.amazonaws.connect.message.interactive.response]

  • (string) --

type ClientToken:

string

param ClientToken:

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs. The token is valid for 7 days after creation. If a contact is already started, the contact ID is returned.

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{
    'ContactId': 'string'
}

Response Structure

  • (dict) --

    • ContactId (string) --

      The identifier of this contact within the Amazon Connect instance.