Skip to content

start_outbound_email_contact

start_outbound_email_contact(
    instance_id: InstanceId,
    contact_id: ContactId,
    destination_email_address: EmailAddressInfo,
    email_message: OutboundEmailContent,
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    from_email_address: Optional[EmailAddressInfo] = None,
    additional_recipients: Optional[OutboundAdditionalRecipients] = None,
    client_token: Optional[ClientToken] = None,
) -> StartOutboundEmailContactResponse

Initiates a flow to send an agent reply or outbound email contact (created from the CreateContact API) to a customer.

Parameters:

  • instance_id (InstanceId) –

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

  • contact_id (ContactId) –

    The identifier of the contact in this instance of Connect Customer.

  • from_email_address (Optional[EmailAddressInfo], default: None ) –

    The email address associated with the Connect Customer instance.

  • destination_email_address (EmailAddressInfo) –

    The email address of the customer.

  • additional_recipients (Optional[OutboundAdditionalRecipients], default: None ) –

    The additional recipients address of email in CC.

  • email_message (OutboundEmailContent) –

    The email message body to be sent to the newly created email.

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

Raises:

Source code in docs_src/capo_connect/_services/connect.py
def start_outbound_email_contact(
    self,
    instance_id: "capo_connect.types.instance_id.InstanceId",
    contact_id: "capo_connect.types.contact_id.ContactId",
    destination_email_address: "capo_connect.types.email_address_info.EmailAddressInfo",
    email_message: "capo_connect.types.outbound_email_content.OutboundEmailContent",
    *,
    config_overrides: Optional[ConnectClientConfig] = None,
    from_email_address: Optional[
        "capo_connect.types.email_address_info.EmailAddressInfo"
    ] = None,
    additional_recipients: Optional[
        "capo_connect.types.outbound_additional_recipients.OutboundAdditionalRecipients"
    ] = None,
    client_token: Optional["capo_connect.types.client_token.ClientToken"] = None,
) -> "capo_connect.types.start_outbound_email_contact_response.StartOutboundEmailContactResponse":
    """<p>Initiates a flow to send an agent reply or outbound email contact (created from the CreateContact API) to a customer.</p>

    Args:
        instance_id: <p>The identifier of the Connect Customer instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p>
        contact_id: <p>The identifier of the contact in this instance of Connect Customer. </p>
        from_email_address: <p>The email address associated with the Connect Customer instance.</p>
        destination_email_address: <p>The email address of the customer.</p>
        additional_recipients: <p>The additional recipients address of email in CC.</p>
        email_message: <p>The email message body to be sent to the newly created email.</p>
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see <a href="https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/">Making retries safe with idempotent APIs</a>.</p>

    Raises:
        capo_connect.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permissions to perform this action.</p>
        capo_connect.errors.idempotency_exception.IdempotencyException: <p>An entity with the same name already exists.</p>
        capo_connect.errors.internal_service_exception.InternalServiceException: <p>Request processing failed because of an error or failure with the service.</p>
        capo_connect.errors.invalid_request_exception.InvalidRequestException: <p>The request is not valid.</p>
        capo_connect.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_connect.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The service quota has been exceeded.</p>
        capo_connect.errors.throttling_exception.ThrottlingException: <p>The throttling limit has been exceeded.</p>
        capo_connect.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_connect.types.start_outbound_email_contact_request.StartOutboundEmailContactRequest]",
    ) -> OperationResponse[
        "capo_connect.types.start_outbound_email_contact_response.StartOutboundEmailContactResponse"
    ]:
        import capo_connect._operations.amazon_connect_service.start_outbound_email_contact

        output, http_response = (
            capo_connect._operations.amazon_connect_service.start_outbound_email_contact.start_outbound_email_contact(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_connect.types.start_outbound_email_contact_request.StartOutboundEmailContactRequest",
    ) -> dict[str, Any]:
        import capo_connect.types.start_outbound_email_contact_request

        return capo_connect.types.start_outbound_email_contact_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("StartOutboundEmailContact", redact_input=_redact_input),
    )
    input_: capo_connect.types.start_outbound_email_contact_request.StartOutboundEmailContactRequest = {
        "instance_id": instance_id,
        "contact_id": contact_id,
        "destination_email_address": destination_email_address,
        "email_message": email_message,
    }
    if from_email_address is not None:
        input_["from_email_address"] = from_email_address
    if additional_recipients is not None:
        input_["additional_recipients"] = additional_recipients
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output