2025/06/12 - AmazonConnectCampaignServiceV2 - 2 new3 updated api methods
Changes Added PutInstanceCommunicationLimits and GetInstanceCommunicationLimits APIs
Put the instance communication limits. This API is idempotent.
See also: AWS API Documentation
Request Syntax
client.put_instance_communication_limits(
    connectInstanceId='string',
    communicationLimitsConfig={
        'allChannelSubtypes': {
            'communicationLimitsList': [
                {
                    'maxCountPerRecipient': 123,
                    'frequency': 123,
                    'unit': 'DAY'
                },
            ]
        }
    }
)
string
[REQUIRED]
Amazon Connect Instance Id
dict
[REQUIRED]
Instance Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) -- [REQUIRED]
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) -- [REQUIRED]
The number of days to consider with regards to this limit.
unit (string) -- [REQUIRED]
The communication limit time unit.
None
Get the instance communication limits.
See also: AWS API Documentation
Request Syntax
client.get_instance_communication_limits(
    connectInstanceId='string'
)
string
[REQUIRED]
Amazon Connect Instance Id
dict
Response Syntax
{
    'communicationLimitsConfig': {
        'allChannelSubtypes': {
            'communicationLimitsList': [
                {
                    'maxCountPerRecipient': 123,
                    'frequency': 123,
                    'unit': 'DAY'
                },
            ]
        }
    }
}
Response Structure
(dict) --
The response for GetInstanceCommunicationLimits API.
communicationLimitsConfig (dict) --
Instance Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) --
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) --
The number of days to consider with regards to this limit.
unit (string) --
The communication limit time unit.
{'communicationLimitsOverride': {'instanceLimitsHandling': 'OPT_IN | OPT_OUT'}}
      Creates a campaign for the specified Amazon Connect account. This API is idempotent.
See also: AWS API Documentation
Request Syntax
client.create_campaign(
    name='string',
    connectInstanceId='string',
    channelSubtypeConfig={
        'telephony': {
            'capacity': 123.0,
            'connectQueueId': 'string',
            'outboundMode': {
                'progressive': {
                    'bandwidthAllocation': 123.0
                },
                'predictive': {
                    'bandwidthAllocation': 123.0
                },
                'agentless': {}
            },
            'defaultOutboundConfig': {
                'connectContactFlowId': 'string',
                'connectSourcePhoneNumber': 'string',
                'answerMachineDetectionConfig': {
                    'enableAnswerMachineDetection': True|False,
                    'awaitAnswerMachinePrompt': True|False
                }
            }
        },
        'sms': {
            'capacity': 123.0,
            'outboundMode': {
                'agentless': {}
            },
            'defaultOutboundConfig': {
                'connectSourcePhoneNumberArn': 'string',
                'wisdomTemplateArn': 'string'
            }
        },
        'email': {
            'capacity': 123.0,
            'outboundMode': {
                'agentless': {}
            },
            'defaultOutboundConfig': {
                'connectSourceEmailAddress': 'string',
                'sourceEmailAddressDisplayName': 'string',
                'wisdomTemplateArn': 'string'
            }
        }
    },
    source={
        'customerProfilesSegmentArn': 'string',
        'eventTrigger': {
            'customerProfilesDomainArn': 'string'
        }
    },
    connectCampaignFlowArn='string',
    schedule={
        'startTime': datetime(2015, 1, 1),
        'endTime': datetime(2015, 1, 1),
        'refreshFrequency': 'string'
    },
    communicationTimeConfig={
        'localTimeZoneConfig': {
            'defaultTimeZone': 'string',
            'localTimeZoneDetection': [
                'ZIP_CODE'|'AREA_CODE',
            ]
        },
        'telephony': {
            'openHours': {
                'dailyHours': {
                    'string': [
                        {
                            'startTime': 'string',
                            'endTime': 'string'
                        },
                    ]
                }
            },
            'restrictedPeriods': {
                'restrictedPeriodList': [
                    {
                        'name': 'string',
                        'startDate': 'string',
                        'endDate': 'string'
                    },
                ]
            }
        },
        'sms': {
            'openHours': {
                'dailyHours': {
                    'string': [
                        {
                            'startTime': 'string',
                            'endTime': 'string'
                        },
                    ]
                }
            },
            'restrictedPeriods': {
                'restrictedPeriodList': [
                    {
                        'name': 'string',
                        'startDate': 'string',
                        'endDate': 'string'
                    },
                ]
            }
        },
        'email': {
            'openHours': {
                'dailyHours': {
                    'string': [
                        {
                            'startTime': 'string',
                            'endTime': 'string'
                        },
                    ]
                }
            },
            'restrictedPeriods': {
                'restrictedPeriodList': [
                    {
                        'name': 'string',
                        'startDate': 'string',
                        'endDate': 'string'
                    },
                ]
            }
        }
    },
    communicationLimitsOverride={
        'allChannelSubtypes': {
            'communicationLimitsList': [
                {
                    'maxCountPerRecipient': 123,
                    'frequency': 123,
                    'unit': 'DAY'
                },
            ]
        },
        'instanceLimitsHandling': 'OPT_IN'|'OPT_OUT'
    },
    tags={
        'string': 'string'
    }
)
string
[REQUIRED]
The name of an Amazon Connect Campaign name.
string
[REQUIRED]
Amazon Connect Instance Id
dict
[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
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
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
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
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
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)
dict
Source of the campaign
customerProfilesSegmentArn (string) --
Amazon Resource Names(ARN)
eventTrigger (dict) --
Event trigger of the campaign
customerProfilesDomainArn (string) --
Amazon Resource Names(ARN)
string
Amazon Resource Names(ARN)
dict
Campaign schedule
startTime (datetime) -- [REQUIRED]
Timestamp with no UTC offset or timezone
endTime (datetime) -- [REQUIRED]
Timestamp with no UTC offset or timezone
refreshFrequency (string) --
Time duration in ISO 8601 format
dict
Campaign communication time config
localTimeZoneConfig (dict) -- [REQUIRED]
Local time zone config
defaultTimeZone (string) --
Time Zone Id in the IANA format
localTimeZoneDetection (list) --
Local TimeZone Detection method list
(string) --
Local TimeZone Detection method.
telephony (dict) --
Time window config
openHours (dict) -- [REQUIRED]
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
endTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
sms (dict) --
Time window config
openHours (dict) -- [REQUIRED]
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
endTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
email (dict) --
Time window config
openHours (dict) -- [REQUIRED]
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
endTime (string) -- [REQUIRED]
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) -- [REQUIRED]
Date in ISO 8601 format, e.g. 2024-01-01
dict
Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) -- [REQUIRED]
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) -- [REQUIRED]
The number of days to consider with regards to this limit.
unit (string) -- [REQUIRED]
The communication limit time unit.
instanceLimitsHandling (string) --
Instance limits handling
dict
Tag map with key and value.
(string) --
The key of tag.
(string) --
The value of tag.
dict
Response Syntax
{
    'id': 'string',
    'arn': 'string',
    'tags': {
        'string': 'string'
    }
}
Response Structure
(dict) --
The response for Create Campaign API
id (string) --
Identifier representing a Campaign
arn (string) --
The resource name of an Amazon Connect campaign.
tags (dict) --
Tag map with key and value.
(string) --
The key of tag.
(string) --
The value of tag.
{'campaign': {'communicationLimitsOverride': {'instanceLimitsHandling': 'OPT_IN '
                                                                        '| '
                                                                        'OPT_OUT'}}}
      Describes the specific campaign.
See also: AWS API Documentation
Request Syntax
client.describe_campaign(
    id='string'
)
string
[REQUIRED]
Identifier representing a Campaign
dict
Response Syntax
{
    'campaign': {
        'id': 'string',
        'arn': 'string',
        'name': 'string',
        'connectInstanceId': 'string',
        'channelSubtypeConfig': {
            'telephony': {
                'capacity': 123.0,
                'connectQueueId': 'string',
                'outboundMode': {
                    'progressive': {
                        'bandwidthAllocation': 123.0
                    },
                    'predictive': {
                        'bandwidthAllocation': 123.0
                    },
                    'agentless': {}
                },
                'defaultOutboundConfig': {
                    'connectContactFlowId': 'string',
                    'connectSourcePhoneNumber': 'string',
                    'answerMachineDetectionConfig': {
                        'enableAnswerMachineDetection': True|False,
                        'awaitAnswerMachinePrompt': True|False
                    }
                }
            },
            'sms': {
                'capacity': 123.0,
                'outboundMode': {
                    'agentless': {}
                },
                'defaultOutboundConfig': {
                    'connectSourcePhoneNumberArn': 'string',
                    'wisdomTemplateArn': 'string'
                }
            },
            'email': {
                'capacity': 123.0,
                'outboundMode': {
                    'agentless': {}
                },
                'defaultOutboundConfig': {
                    'connectSourceEmailAddress': 'string',
                    'sourceEmailAddressDisplayName': 'string',
                    'wisdomTemplateArn': 'string'
                }
            }
        },
        'source': {
            'customerProfilesSegmentArn': 'string',
            'eventTrigger': {
                'customerProfilesDomainArn': 'string'
            }
        },
        'connectCampaignFlowArn': 'string',
        'schedule': {
            'startTime': datetime(2015, 1, 1),
            'endTime': datetime(2015, 1, 1),
            'refreshFrequency': 'string'
        },
        'communicationTimeConfig': {
            'localTimeZoneConfig': {
                'defaultTimeZone': 'string',
                'localTimeZoneDetection': [
                    'ZIP_CODE'|'AREA_CODE',
                ]
            },
            'telephony': {
                'openHours': {
                    'dailyHours': {
                        'string': [
                            {
                                'startTime': 'string',
                                'endTime': 'string'
                            },
                        ]
                    }
                },
                'restrictedPeriods': {
                    'restrictedPeriodList': [
                        {
                            'name': 'string',
                            'startDate': 'string',
                            'endDate': 'string'
                        },
                    ]
                }
            },
            'sms': {
                'openHours': {
                    'dailyHours': {
                        'string': [
                            {
                                'startTime': 'string',
                                'endTime': 'string'
                            },
                        ]
                    }
                },
                'restrictedPeriods': {
                    'restrictedPeriodList': [
                        {
                            'name': 'string',
                            'startDate': 'string',
                            'endDate': 'string'
                        },
                    ]
                }
            },
            'email': {
                'openHours': {
                    'dailyHours': {
                        'string': [
                            {
                                'startTime': 'string',
                                'endTime': 'string'
                            },
                        ]
                    }
                },
                'restrictedPeriods': {
                    'restrictedPeriodList': [
                        {
                            'name': 'string',
                            'startDate': 'string',
                            'endDate': 'string'
                        },
                    ]
                }
            }
        },
        'communicationLimitsOverride': {
            'allChannelSubtypes': {
                'communicationLimitsList': [
                    {
                        'maxCountPerRecipient': 123,
                        'frequency': 123,
                        'unit': 'DAY'
                    },
                ]
            },
            'instanceLimitsHandling': 'OPT_IN'|'OPT_OUT'
        },
        'tags': {
            'string': 'string'
        }
    }
}
Response Structure
(dict) --
The response for DescribeCampaign API.
campaign (dict) --
An Amazon Connect campaign.
id (string) --
Identifier representing a Campaign
arn (string) --
The resource name of an Amazon Connect campaign.
name (string) --
The name of an Amazon Connect Campaign name.
connectInstanceId (string) --
Amazon Connect Instance Id
channelSubtypeConfig (dict) --
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) --
Telephony Outbound Mode
progressive (dict) --
Progressive config
bandwidthAllocation (float) --
The bandwidth allocation of a queue resource.
predictive (dict) --
Predictive config
bandwidthAllocation (float) --
The bandwidth allocation of a queue resource.
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) --
Default Telephony Outbound config
connectContactFlowId (string) --
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) --
Enable or disable answering machine detection
awaitAnswerMachinePrompt (boolean) --
Enable or disable await answer machine prompt
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) --
SMS Outbound Mode
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) --
Default SMS Outbound config
connectSourcePhoneNumberArn (string) --
Amazon Resource Names(ARN)
wisdomTemplateArn (string) --
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) --
Email Outbound Mode
agentless (dict) --
Agentless config
defaultOutboundConfig (dict) --
Default Email Outbound config
connectSourceEmailAddress (string) --
Source/Destination Email address used for Email messages
sourceEmailAddressDisplayName (string) --
Display name for Email Address
wisdomTemplateArn (string) --
Amazon Resource Names(ARN)
source (dict) --
Source of the campaign
customerProfilesSegmentArn (string) --
Amazon Resource Names(ARN)
eventTrigger (dict) --
Event trigger of the campaign
customerProfilesDomainArn (string) --
Amazon Resource Names(ARN)
connectCampaignFlowArn (string) --
Amazon Resource Names(ARN)
schedule (dict) --
Campaign schedule
startTime (datetime) --
Timestamp with no UTC offset or timezone
endTime (datetime) --
Timestamp with no UTC offset or timezone
refreshFrequency (string) --
Time duration in ISO 8601 format
communicationTimeConfig (dict) --
Campaign communication time config
localTimeZoneConfig (dict) --
Local time zone config
defaultTimeZone (string) --
Time Zone Id in the IANA format
localTimeZoneDetection (list) --
Local TimeZone Detection method list
(string) --
Local TimeZone Detection method.
telephony (dict) --
Time window config
openHours (dict) --
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) --
Time in ISO 8601 format, e.g. T23:11
endTime (string) --
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
sms (dict) --
Time window config
openHours (dict) --
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) --
Time in ISO 8601 format, e.g. T23:11
endTime (string) --
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
email (dict) --
Time window config
openHours (dict) --
Open Hours config
dailyHours (dict) --
Daily Hours map
(string) --
Day of week enum
(list) --
List of time range
(dict) --
Time range in 24 hour format
startTime (string) --
Time in ISO 8601 format, e.g. T23:11
endTime (string) --
Time in ISO 8601 format, e.g. T23:11
restrictedPeriods (dict) --
Restricted period config
restrictedPeriodList (list) --
List of restricted period
(dict) --
Restricted period
name (string) --
The name of a restricted period.
startDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
endDate (string) --
Date in ISO 8601 format, e.g. 2024-01-01
communicationLimitsOverride (dict) --
Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) --
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) --
The number of days to consider with regards to this limit.
unit (string) --
The communication limit time unit.
instanceLimitsHandling (string) --
Instance limits handling
tags (dict) --
Tag map with key and value.
(string) --
The key of tag.
(string) --
The value of tag.
{'communicationLimitsOverride': {'instanceLimitsHandling': 'OPT_IN | OPT_OUT'}}
      Updates the communication limits config for a campaign. This API is idempotent.
See also: AWS API Documentation
Request Syntax
client.update_campaign_communication_limits(
    id='string',
    communicationLimitsOverride={
        'allChannelSubtypes': {
            'communicationLimitsList': [
                {
                    'maxCountPerRecipient': 123,
                    'frequency': 123,
                    'unit': 'DAY'
                },
            ]
        },
        'instanceLimitsHandling': 'OPT_IN'|'OPT_OUT'
    }
)
string
[REQUIRED]
Identifier representing a Campaign
dict
[REQUIRED]
Communication limits config
allChannelSubtypes (dict) --
Communication limits
communicationLimitsList (list) --
List of communication limit
(dict) --
Communication Limit
maxCountPerRecipient (integer) -- [REQUIRED]
Maximum number of contacts allowed for a given target within the given frequency.
frequency (integer) -- [REQUIRED]
The number of days to consider with regards to this limit.
unit (string) -- [REQUIRED]
The communication limit time unit.
instanceLimitsHandling (string) --
Instance limits handling
None