:doc:`Connect <../../connect>` / Client / update_participant_role_config

******************************
update_participant_role_config
******************************



.. py:method:: Connect.Client.update_participant_role_config(**kwargs)

  

  Updates timeouts for when human chat participants are to be considered idle, and when agents are automatically disconnected from a chat due to idleness. You can set four timers:

   

  
  * Customer idle timeout
   
  * Customer auto-disconnect timeout
   
  * Agent idle timeout
   
  * Agent auto-disconnect timeout
  

   

  For more information about how chat timeouts work, see `Set up chat timeouts for human participants <https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateParticipantRoleConfig>`_  


  **Request Syntax**
  ::

    response = client.update_participant_role_config(
        InstanceId='string',
        ContactId='string',
        ChannelConfiguration={
            'Chat': {
                'ParticipantTimerConfigList': [
                    {
                        'ParticipantRole': 'CUSTOMER'|'AGENT',
                        'TimerType': 'IDLE'|'DISCONNECT_NONCUSTOMER',
                        'TimerValue': {
                            'ParticipantTimerAction': 'Unset',
                            'ParticipantTimerDurationInMinutes': 123
                        }
                    },
                ]
            }
        }
    )
    
  :type InstanceId: string
  :param InstanceId: **[REQUIRED]** 

    The identifier of the Amazon Connect instance. You can `find the instance ID <https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html>`__ in the Amazon Resource Name (ARN) of the instance.

    

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

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

    

  
  :type ChannelConfiguration: dict
  :param ChannelConfiguration: **[REQUIRED]** 

    The Amazon Connect channel you want to configure.

    .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``Chat``. 

  
    - **Chat** *(dict) --* 

      Configuration information for the chat participant role.

      

    
      - **ParticipantTimerConfigList** *(list) --* **[REQUIRED]** 

        A list of participant timers. You can specify any unique combination of role and timer type. Duplicate entries error out the request with a 400.

        

      
        - *(dict) --* 

          Configuration information for the timer. After the timer configuration is set, it persists for the duration of the chat. It persists across new contacts in the chain, for example, transfer contacts.

           

          For more information about how chat timeouts work, see `Set up chat timeouts for human participants <https://docs.aws.amazon.com/connect/latest/adminguide/setup-chat-timeouts.html>`__.

          

        
          - **ParticipantRole** *(string) --* **[REQUIRED]** 

            The role of the participant in the chat conversation.

            

          
          - **TimerType** *(string) --* **[REQUIRED]** 

            The type of timer. ``IDLE`` indicates the timer applies for considering a human chat participant as idle. ``DISCONNECT_NONCUSTOMER`` indicates the timer applies to automatically disconnecting a chat participant due to idleness.

            

          
          - **TimerValue** *(dict) --* **[REQUIRED]** 

            The value of the timer. Either the timer action (Unset to delete the timer), or the duration of the timer in minutes. Only one value can be set.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``ParticipantTimerAction``, ``ParticipantTimerDurationInMinutes``. 

          
            - **ParticipantTimerAction** *(string) --* 

              The timer action. Currently only one value is allowed: ``Unset``. It deletes a timer.

              

            
            - **ParticipantTimerDurationInMinutes** *(integer) --* 

              The duration of a timer, in minutes.

              

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`Connect.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`Connect.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`Connect.Client.exceptions.ResourceNotFoundException`

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

  
  *   :py:class:`Connect.Client.exceptions.ThrottlingException`

  
  *   :py:class:`Connect.Client.exceptions.InternalServiceException`

  