updateContactTaskTemplate method

Future<void> updateContactTaskTemplate({
  1. required String contactId,
  2. required String instanceId,
  3. required String taskTemplateId,
})

Updates the task template association on an existing task contact. You can update the task template on a contact before assignment to support tasks that are created without a template (for example Rules or disconnect flows) or change the agent interaction form to represent the latest task data (for example an initial request that was submitted as a refund gets updated to an account cancellation and requires a new template).

This operation can only be used with task contacts that are in progress and not connected to an agent. A task template can be updated a maximum of 5 times per contact.

The task's references must be compatible with the fields of the target task template. If the target template has a required field, the task must have a corresponding reference with a matching name and compatible type. The following task template field types map to reference types:

  • TEXT, TEXT_AREA, BOOLEAN, and SINGLE_SELECT map to references of type STRING.
  • NUMBER maps to references of type NUMBER.
  • DATE_TIME maps to references of type DATE.
  • URL maps to references of type URL.
  • EMAIL maps to references of type EMAIL.
References corresponding to TEXT fields must be fewer than 512 characters. TEXT_AREA fields must be fewer than 4,096 characters. BOOLEAN fields must have a value of true or false.

An InvalidRequestException occurs when UpdateContactTaskTemplate is called on a connected or terminated task, when it is called on non-task contacts, and when the task contact already uses the provided task template. A PropertyValidationException occurs when the task's references conflict with the task template's fields, for example if the task is missing a reference that matches a required field, or if the task has a reference that matches a required field's name but not its datatype.

May throw AccessDeniedException. May throw InternalServiceException. May throw InvalidRequestException. May throw LimitExceededException. May throw PropertyValidationException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException.

Parameter contactId : The identifier of the contact in this instance of Connect Customer.

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

Parameter taskTemplateId : A unique identifier for the task template. For more information about task templates, see Task templates in the Connect Customer Administrator Guide.

Implementation

Future<void> updateContactTaskTemplate({
  required String contactId,
  required String instanceId,
  required String taskTemplateId,
}) async {
  final $payload = <String, dynamic>{
    'ContactId': contactId,
    'InstanceId': instanceId,
    'TaskTemplateId': taskTemplateId,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/contact/task-template',
    exceptionFnMap: _exceptionFns,
  );
}