:doc:`ConnectCampaignServiceV2 <../../connectcampaignsv2>` / Client / update_campaign_channel_subtype_config

**************************************
update_campaign_channel_subtype_config
**************************************



.. py:method:: ConnectCampaignServiceV2.Client.update_campaign_channel_subtype_config(**kwargs)

  

  Updates the channel subtype config of a campaign. This API is idempotent.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connectcampaignsv2-2024-04-23/UpdateCampaignChannelSubtypeConfig>`_  


  **Request Syntax**
  ::

    response = client.update_campaign_channel_subtype_config(
        id='string',
        channelSubtypeConfig={
            'telephony': {
                'capacity': 123.0,
                'connectQueueId': 'string',
                'outboundMode': {
                    'progressive': {
                        'bandwidthAllocation': 123.0
                    },
                    'predictive': {
                        'bandwidthAllocation': 123.0
                    },
                    'agentless': {}
                    ,
                    'preview': {
                        'bandwidthAllocation': 123.0,
                        'timeoutConfig': {
                            'durationInSeconds': 123
                        },
                        'agentActions': [
                            'DISCARD',
                        ]
                    }
                },
                'defaultOutboundConfig': {
                    'connectContactFlowId': 'string',
                    'connectSourcePhoneNumber': 'string',
                    'answerMachineDetectionConfig': {
                        'enableAnswerMachineDetection': True|False,
                        'awaitAnswerMachinePrompt': True|False
                    },
                    'ringTimeout': 123
                }
            },
            'sms': {
                'capacity': 123.0,
                'outboundMode': {
                    'agentless': {}
                    
                },
                'defaultOutboundConfig': {
                    'connectSourcePhoneNumberArn': 'string',
                    'wisdomTemplateArn': 'string'
                }
            },
            'email': {
                'capacity': 123.0,
                'outboundMode': {
                    'agentless': {}
                    
                },
                'defaultOutboundConfig': {
                    'connectSourceEmailAddress': 'string',
                    'sourceEmailAddressDisplayName': 'string',
                    'wisdomTemplateArn': 'string'
                }
            },
            'whatsApp': {
                'capacity': 123.0,
                'outboundMode': {
                    'agentless': {}
                    
                },
                'defaultOutboundConfig': {
                    'connectSourcePhoneNumberArn': 'string',
                    'wisdomTemplateArn': 'string'
                }
            }
        }
    )
    
  :type id: string
  :param id: **[REQUIRED]** 

    Identifier representing a Campaign

    

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

    Campaign Channel Subtype config

    

  
    - **telephony** *(dict) --* 

      Telephony Channel Subtype config

      

    
      - **capacity** *(float) --* 

        Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns

        

      
      - **connectQueueId** *(string) --* 

        The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the contact flow is used. If you do not specify a queue, you must specify a source phone number.

        

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

        Telephony Outbound Mode

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``progressive``, ``predictive``, ``agentless``, ``preview``. 

      
        - **progressive** *(dict) --* 

          Progressive config

          

        
          - **bandwidthAllocation** *(float) --* **[REQUIRED]** 

            The bandwidth allocation of a queue resource.

            

          
        
        - **predictive** *(dict) --* 

          Predictive config

          

        
          - **bandwidthAllocation** *(float) --* **[REQUIRED]** 

            The bandwidth allocation of a queue resource.

            

          
        
        - **agentless** *(dict) --* 

          Agentless config

          

        
        
        - **preview** *(dict) --* 

          Preview config

          

        
          - **bandwidthAllocation** *(float) --* **[REQUIRED]** 

            The bandwidth allocation of a queue resource.

            

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

            Timeout Config for preview contacts.

            

          
            - **durationInSeconds** *(integer) --* **[REQUIRED]** 

              Timeout duration for a preview contact in seconds.

              

            
          
          - **agentActions** *(list) --* 

            Actions that can be performed by agent during preview phase.

            

          
            - *(string) --* 

              Actions that can performed on a contact by an agent

              

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

        Default Telephony Outbound config

        

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

          The identifier of the contact flow for the outbound call.

          

        
        - **connectSourcePhoneNumber** *(string) --* 

          The phone number associated with the Amazon Connect instance, in E.164 format. If you do not specify a source phone number, you must specify a queue.

          

        
        - **answerMachineDetectionConfig** *(dict) --* 

          Answering Machine Detection config

          

        
          - **enableAnswerMachineDetection** *(boolean) --* **[REQUIRED]** 

            Enable or disable answering machine detection

            

          
          - **awaitAnswerMachinePrompt** *(boolean) --* 

            Enable or disable await answer machine prompt

            

          
        
        - **ringTimeout** *(integer) --* 

          Ring timeout for outbound calls

          

        
      
    
    - **sms** *(dict) --* 

      SMS Channel Subtype config

      

    
      - **capacity** *(float) --* 

        Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns

        

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

        SMS Outbound Mode

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

      
        - **agentless** *(dict) --* 

          Agentless config

          

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

        Default SMS Outbound config

        

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

          Amazon Resource Names(ARN)

          

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

          Amazon Resource Names(ARN)

          

        
      
    
    - **email** *(dict) --* 

      Email Channel Subtype config

      

    
      - **capacity** *(float) --* 

        Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns

        

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

        Email Outbound Mode

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

      
        - **agentless** *(dict) --* 

          Agentless config

          

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

        Default Email Outbound config

        

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

          Source/Destination Email address used for Email messages

          

        
        - **sourceEmailAddressDisplayName** *(string) --* 

          Display name for Email Address

          

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

          Amazon Resource Names(ARN)

          

        
      
    
    - **whatsApp** *(dict) --* 

      WhatsApp Channel Subtype config

      

    
      - **capacity** *(float) --* 

        Allocates outbound capacity for the specific channel subtype of this campaign between multiple active campaigns

        

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

        WhatsApp Outbound Mode

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

      
        - **agentless** *(dict) --* 

          Agentless config

          

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

        Default WhatsApp Outbound config

        

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

          Amazon Resource Names(ARN)

          

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

          Amazon Resource Names(ARN)

          

        
      
    
  
  
  :returns: None
  **Exceptions**
  
  *   :py:class:`ConnectCampaignServiceV2.Client.exceptions.InternalServerException`

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

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

  
  *   :py:class:`ConnectCampaignServiceV2.Client.exceptions.ConflictException`

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

  