:doc:`ConnectWisdomService <../../wisdom>` / Client / create_assistant

****************
create_assistant
****************



.. py:method:: ConnectWisdomService.Client.create_assistant(**kwargs)

  

  Creates an Amazon Connect Wisdom assistant.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/wisdom-2020-10-19/CreateAssistant>`_  


  **Request Syntax**
  ::

    response = client.create_assistant(
        clientToken='string',
        description='string',
        name='string',
        serverSideEncryptionConfiguration={
            'kmsKeyId': 'string'
        },
        tags={
            'string': 'string'
        },
        type='AGENT'
    )
    
  :type clientToken: string
  :param 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 <https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/>`__.

    This field is autopopulated if not provided.

  
  :type description: string
  :param description: 

    The description of the assistant.

    

  
  :type name: string
  :param name: **[REQUIRED]** 

    The name of the assistant.

    

  
  :type serverSideEncryptionConfiguration: dict
  :param serverSideEncryptionConfiguration: 

    The configuration information for the customer managed key used for encryption.

     

    The customer managed key must have a policy that allows ``kms:CreateGrant``, ``kms:DescribeKey``, and ``kms:Decrypt/kms:GenerateDataKey`` permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow ``kms:Decrypt``, ``kms:GenerateDataKey*``, and ``kms:DescribeKey`` permissions to the ``connect.amazonaws.com`` service principal.

     

    For more information about setting up a customer managed key for Wisdom, see `Enable Amazon Connect Wisdom for your instance <https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html>`__.

    

  
    - **kmsKeyId** *(string) --* 

      The customer managed key used for encryption. For more information about setting up a customer managed key for Wisdom, see `Enable Amazon Connect Wisdom for your instance <https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html>`__. For information about valid ID values, see `Key identifiers (KeyId) <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id>`__.

      

    
  
  :type tags: dict
  :param tags: 

    The tags used to organize, track, or control access for this resource.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type type: string
  :param type: **[REQUIRED]** 

    The type of assistant.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'assistant': {
              'assistantArn': 'string',
              'assistantId': 'string',
              'description': 'string',
              'integrationConfiguration': {
                  'topicIntegrationArn': 'string'
              },
              'name': 'string',
              'serverSideEncryptionConfiguration': {
                  'kmsKeyId': 'string'
              },
              'status': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'ACTIVE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETED',
              'tags': {
                  'string': 'string'
              },
              'type': 'AGENT'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **assistant** *(dict) --* 

        Information about the assistant.

        
        

        - **assistantArn** *(string) --* 

          The Amazon Resource Name (ARN) of the Wisdom assistant.

          
        

        - **assistantId** *(string) --* 

          The identifier of the Wisdom assistant.

          
        

        - **description** *(string) --* 

          The description.

          
        

        - **integrationConfiguration** *(dict) --* 

          The configuration information for the Wisdom assistant integration.

          
          

          - **topicIntegrationArn** *(string) --* 

            The Amazon Resource Name (ARN) of the integrated Amazon SNS topic used for streaming chat messages.

            
      
        

        - **name** *(string) --* 

          The name.

          
        

        - **serverSideEncryptionConfiguration** *(dict) --* 

          The configuration information for the customer managed key used for encryption.

           

          This KMS key must have a policy that allows ``kms:CreateGrant``, ``kms:DescribeKey``, and ``kms:Decrypt/kms:GenerateDataKey`` permissions to the IAM identity using the key to invoke Wisdom. To use Wisdom with chat, the key policy must also allow ``kms:Decrypt``, ``kms:GenerateDataKey*``, and ``kms:DescribeKey`` permissions to the ``connect.amazonaws.com`` service principal.

           

          For more information about setting up a customer managed key for Wisdom, see `Enable Amazon Connect Wisdom for your instance <https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html>`__.

          
          

          - **kmsKeyId** *(string) --* 

            The customer managed key used for encryption. For more information about setting up a customer managed key for Wisdom, see `Enable Amazon Connect Wisdom for your instance <https://docs.aws.amazon.com/connect/latest/adminguide/enable-wisdom.html>`__. For information about valid ID values, see `Key identifiers (KeyId) <https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id>`__.

            
      
        

        - **status** *(string) --* 

          The status of the assistant.

          
        

        - **tags** *(dict) --* 

          The tags used to organize, track, or control access for this resource.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
        

        - **type** *(string) --* 

          The type of assistant.

          
    
  
  **Exceptions**
  
  *   :py:class:`ConnectWisdomService.Client.exceptions.ConflictException`

  
  *   :py:class:`ConnectWisdomService.Client.exceptions.ValidationException`

  
  *   :py:class:`ConnectWisdomService.Client.exceptions.ServiceQuotaExceededException`

  
  *   :py:class:`ConnectWisdomService.Client.exceptions.AccessDeniedException`

  