createTaskTemplate method

Future<CreateTaskTemplateResponse> createTaskTemplate({
  1. required List<TaskTemplateField> fields,
  2. required String instanceId,
  3. required String name,
  4. String? clientToken,
  5. TaskTemplateConstraints? constraints,
  6. String? contactFlowId,
  7. TaskTemplateDefaults? defaults,
  8. String? description,
  9. String? selfAssignFlowId,
  10. TaskTemplateStatus? status,
})

Creates a new task template in the specified Connect Customer instance.

May throw InternalServiceException. May throw InvalidParameterException. May throw PropertyValidationException. May throw ResourceNotFoundException. May throw ServiceQuotaExceededException. May throw ThrottlingException.

Parameter fields : Fields that are part of the template.

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 name : The name of the task template.

Parameter clientToken : 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.

Parameter constraints : Constraints that are applicable to the fields listed.

Parameter contactFlowId : The identifier of the flow that runs by default when a task is created by referencing this template.

Parameter defaults : The default values for fields when a task is created by referencing this template.

Parameter description : The description of the task template.

Parameter selfAssignFlowId : The ContactFlowId for the flow that will be run if this template is used to create a self-assigned task.

Parameter status : Marks a template as ACTIVE or INACTIVE for a task to refer to it. Tasks can only be created from ACTIVE templates. If a template is marked as INACTIVE, then a task that refers to this template cannot be created.

Implementation

Future<CreateTaskTemplateResponse> createTaskTemplate({
  required List<TaskTemplateField> fields,
  required String instanceId,
  required String name,
  String? clientToken,
  TaskTemplateConstraints? constraints,
  String? contactFlowId,
  TaskTemplateDefaults? defaults,
  String? description,
  String? selfAssignFlowId,
  TaskTemplateStatus? status,
}) async {
  final $payload = <String, dynamic>{
    'Fields': fields,
    'Name': name,
    'ClientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (constraints != null) 'Constraints': constraints,
    if (contactFlowId != null) 'ContactFlowId': contactFlowId,
    if (defaults != null) 'Defaults': defaults,
    if (description != null) 'Description': description,
    if (selfAssignFlowId != null) 'SelfAssignFlowId': selfAssignFlowId,
    if (status != null) 'Status': status.value,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'PUT',
    requestUri: '/instance/${Uri.encodeComponent(instanceId)}/task/template',
    exceptionFnMap: _exceptionFns,
  );
  return CreateTaskTemplateResponse.fromJson(response);
}