If you are preparing for an Amazon Connect interview and outbound campaigns is on the job description, this article is for you. Amazon Connect outbound campaigns is one of the most asked topics in AWS contact center interviews today. Companies are using it to run marketing campaigns, send appointment reminders, follow up on billing, and connect with millions of customers every day.
This article covers 50 Amazon Connect outbound campaign interview questions and answers. These include basic questions for freshers, deep technical questions for experienced developers and architects, and 15 real scenario-based questions that are commonly asked in interviews at top companies. All answers are based on official AWS documentation.
Whether you are a solutions architect, a contact center developer, or a business analyst, this guide will help you walk into your interview fully prepared.
SECTION 1: BASIC QUESTIONS
Q1. What is Amazon Connect Outbound Campaigns?
Amazon Connect Outbound Campaigns is a feature that lets you run high-volume, machine learning (ML) powered outbound campaigns to contact customers at scale. You can use it to send appointment reminders, marketing promotions, billing reminders, and delivery notifications. It supports voice calls, SMS, and email as delivery channels.
According to the official AWS documentation, you can contact up to millions of customers daily using outbound campaigns. The feature includes a predictive dialer and ML-powered answering machine detection (AMD), which helps agents spend their time only on live customer conversations and not on unanswered calls or voicemails.
Q2. What is the focus keyword for Amazon Connect outbound campaign interview questions?
If you are studying for an interview, the key topics you need to master are: campaign setup, dialing modes (predictive, progressive, agentless), answering machine detection, the PutDialRequestBatch API, Amazon Pinpoint integration, compliance rules like TCPA, campaign metrics, outbound flows, and Customer Profiles integration.
Q3. What are the different dialing modes available in Amazon Connect outbound campaigns?
Amazon Connect outbound campaigns supports three dialing modes:
Predictive Dialing
The system dials multiple numbers at once and predicts when an agent will be free. It connects the agent only when a live person picks up. This is the fastest mode but requires careful management of the abandon rate.
Progressive Dialing
The system dials one number at a time per available agent. It is slower than predictive but gives better control and lower abandon rates. The agent is already available before the call is placed.
Agentless (Voice Dialing)
No agent is required. The system places a call and plays a pre-recorded message or runs an IVR flow powered by Amazon Lex or Amazon Polly. This is ideal for appointment reminders or one-way notifications.
Q4. What is Answering Machine Detection (AMD) in Amazon Connect outbound campaigns?
Answering Machine Detection, or AMD, is a machine learning feature built into Amazon Connect outbound campaigns. It automatically detects whether an outbound call was answered by a live person or by a voicemail machine.
AMD provides the following call outcomes:
-
Human answered: A live person picked up the call
-
Voicemail with beep: The call went to voicemail and a beep was detected
-
Voicemail with no beep: The call went to voicemail but no beep was detected
-
Not detected: The system could not determine the outcome, usually because of long silence or background noise
-
Error: A system error occurred after the call was connected
AMD is available through the “Check call progress” flow block in Amazon Connect, which only works with outbound campaigns on the voice channel.
Q5. What is the role of Amazon Pinpoint in Amazon Connect outbound campaigns?
Amazon Pinpoint is the underlying telephony and messaging engine that powers Amazon Connect outbound campaigns. When you enable outbound campaigns in your Amazon Connect instance, an Amazon Pinpoint application is automatically provisioned and linked to your instance.
Amazon Pinpoint handles the actual dialing, SMS delivery, and email sending. It also provides phone number validation, which you can use to check whether contact numbers in your list are still valid before running a campaign. For outbound calling, phone numbers are sourced and managed through Pinpoint.
Q6. What AWS services are required to enable Amazon Connect outbound campaigns?
The following services work together for outbound campaigns:
-
Amazon Connect: The core contact center platform where you configure queues, flows, and agents
-
Amazon Pinpoint: Handles telephony dialing, SMS, and email delivery
-
Amazon Connect Customer Profiles: Required to be enabled alongside outbound campaigns
-
AWS Lambda: Used inside outbound contact flows for data lookups and personalization
-
Amazon Lex: Optional, used for agentless voice IVR flows
-
Amazon S3: Used for storing contact data files and campaign recordings
-
Amazon CloudWatch: Used for monitoring campaign errors and setting alarms
Q7. What is the PutDialRequestBatch API and when is it used?
The PutDialRequestBatch API is how you load contact records into an Amazon Connect outbound campaign programmatically. You call this API to add the phone numbers and associated data you want to dial.
Key things to know about this API
-
You can send up to 25 contact records in a single API call
-
The API throttling quota is 10 requests per second
-
Each dial request can include contact attributes like customer name, account number, or language preference, which are passed into the outbound contact flow
-
You must call this API before starting the campaign, or continuously load new contacts while the campaign is running
Q8. How do you start and stop an outbound campaign using the API?
You use the following API calls to manage campaign lifecycle:
-
CreateCampaign: Creates a new campaign with its configuration
-
StartCampaign: Begins the dialing process for a campaign
-
StopCampaign: Pauses or stops an active campaign
-
GetCampaignState: Returns the current state of a campaign (Active, Paused, Stopped, Failed)
-
DeleteCampaign: Permanently removes a campaign
Q9. What is the difference between an outbound flow and an outbound whisper flow in Amazon Connect?
An outbound flow is the contact flow that runs when an outbound campaign call is connected. It controls what happens during the call, such as playing a recorded message, routing to an agent, or running an IVR with Lex.
An outbound whisper flow is a separate flow that plays for the agent just before they are connected to the customer. For example, it might say “You are about to speak with a customer about their renewal.” This prepares the agent for the conversation. The outbound whisper flow is configured at the queue level.
Check – CloudWatch Log Analyzer
Q10. What is the role of Customer Profiles in outbound campaigns?
Amazon Connect Customer Profiles must be enabled before you can use outbound campaigns. Customer Profiles acts as the unified customer data store that holds information about each contact.
In outbound campaigns, Customer Profiles is used for:
-
Storing and managing the list of customers to be contacted
-
Enabling event-triggered campaigns where a campaign is automatically triggered when a specific customer profile attribute changes
-
Providing agent screen pops with customer information when a campaign call connects to a live agent
-
Tracking which customers have already been contacted to avoid duplicate outreach
Q11. What are the outbound campaign quotas you need to be aware of?
Some important service quotas for Amazon Connect outbound campaigns:
-
You can have 1 Amazon Pinpoint app per Amazon Connect instance
-
The PutDialRequestBatch API supports up to 25 records per batch
-
API throttling for PutDialRequestBatch is 10 requests per second
-
The StartCampaign and StopCampaign APIs have their own throttling quotas
-
All outbound campaign quotas are set at the AWS account level, not the instance level
You can request quota increases through the AWS Service Quotas console if you need to scale beyond the defaults.
Q12. What is the “Check Call Progress” flow block and when do you use it?
The Check Call Progress block is a contact flow block specifically designed for outbound campaigns. It is only available for voice contacts in outbound campaigns and does not work with chat, task, or email.
You use this block in your outbound campaign contact flow when you have answering machine detection enabled. After the call is connected, this block checks the AMD result and routes the contact to different branches:
-
Call answered: Route to an agent
-
Voicemail with beep: Leave a recorded message
-
Voicemail with no beep: Handle silently or try again later
-
Not detected: Route to default handling
-
Error: Log the error and take a fallback action
Q13. What are the three channels supported by Amazon Connect outbound campaigns?
Amazon Connect outbound campaigns supports:
-
Voice (Telephony): Place outbound voice calls using predictive, progressive, or agentless dialing
-
SMS: Send text messages to customer phone numbers through Amazon Pinpoint
-
Email: Send outbound emails through Amazon SES integrated with Amazon Pinpoint
Each channel has its own delivery classification and metrics available on the outbound campaigns performance dashboard.
Q14. What is an event-triggered outbound campaign?
An event-triggered outbound campaign automatically dials a customer when a specific event or condition occurs in Customer Profiles, rather than requiring you to manually upload a contact list.
For example, you can configure a campaign that automatically calls a customer as soon as their Customer Profile is updated with a status of “payment_overdue”. This enables real-time, behavior-driven outreach without a human manually loading contact lists.
You can also create event-triggered campaigns using the API by specifying event trigger conditions when calling CreateCampaign.
Q15. What security permissions are needed to view the outbound campaigns performance dashboard?
To access the outbound campaigns performance dashboard in Amazon Connect, a user needs the following security profile permissions:
-
Access metrics permission (or Dashboard Access permission)
-
Outbound Campaign – Campaigns – View permission
Without the Campaigns – View permission specifically, the user will not be able to see outbound campaign data even if they have general dashboard access.
SECTION 2: INTERMEDIATE QUESTIONS
Q16. How do you configure an outbound campaign step by step in Amazon Connect?
Here is the full configuration process from start to finish:
Step 1 – Enable outbound campaigns: Go to your Amazon Connect instance settings, choose Telephony, and enable “Make outbound calls with Amazon Connect” and then “Enable outbound campaigns.” This also automatically enables Customer Profiles.
Step 2 – Create a campaign queue: Create a dedicated queue for your outbound campaign. Configure the outbound caller ID name and number on this queue. Set the hours of operation so the campaign only dials during approved hours.
Step 3 – Create an outbound contact flow: Design a contact flow that handles what happens when the campaign call connects. For agentless campaigns, this flow plays the message. For agent-assisted campaigns, this flow routes the contact to the agent.
Step 4 – Create the campaign: In the Outbound Campaigns section of the Amazon Connect console, create a new campaign. Specify the name, dialing mode, the queue, the outbound flow, and the AMD settings.
Step 5 – Load contact records: Use the PutDialRequestBatch API to load the phone numbers and customer data into the campaign.
Step 6 – Start the campaign: Call StartCampaign via the API or click Start in the console.
Step 7 – Monitor performance: Use the Outbound Campaigns Performance Dashboard to track delivery attempts, human answer rate, abandon rate, and other metrics.
Q17. What is the abandon rate in predictive dialing and why does it matter?
The abandon rate in predictive dialing is the percentage of calls that were connected to a live person but could not be connected to an available agent within 2 seconds.
In Amazon Connect, this metric is called “Campaign contacts abandoned after 2 seconds rate” in the performance dashboard.
The abandon rate matters for two reasons:
-
Compliance: In the United States, the FTC requires that predictive dialing campaigns maintain an abandon rate of 3% or less. Similar regulations exist in the UK under Ofcom. Exceeding this limit can result in legal penalties.
-
Customer experience: Customers who answer a call but hear silence or a click before being connected to an agent have a very poor experience. High abandon rates damage brand reputation and can get your caller ID flagged as spam.
Amazon Connect’s predictive dialer automatically adjusts its dialing pace to try to keep the abandon rate within your configured threshold.
Q18. How does Amazon Connect handle calls that go to voicemail during an outbound campaign?
When a call goes to voicemail and you have AMD enabled, the “Check Call Progress” block in your outbound contact flow detects this and routes the call to the “Voicemail (beep)” or “Voicemail (no beep)” branch.
From there, you have several options:
Option 1: Leave a pre-recorded message. You can use a “Play prompt” block to play a recorded audio file using Amazon Polly or an uploaded audio file. This is called voicemail drop.
Option 2: Hang up silently. You can connect the voicemail branch directly to a “Disconnect” block. This avoids leaving a partial message.
Option 3: Mark the contact for callback. You can use a Lambda function to update the customer record in DynamoDB or CRM with a “left voicemail” status for follow-up tracking.
The key thing to remember is that voicemail handling only works properly when AMD is enabled on the campaign.
Q19. How do you personalize the outbound campaign message for each customer?
Personalization is done through contact attributes. When you load contacts via the PutDialRequestBatch API, each dial request can include custom attributes such as:
-
CustomerName
-
ProductName
-
AppointmentDate
-
AccountBalance
These attributes are available inside the outbound contact flow as contact attributes. You can use them in two ways:
-
Dynamic text-to-speech (TTS): In a “Play prompt” block, use SSML to reference the attribute value. For example: “Hello, .Attributes.CustomerName.Yourappointmentison.Attributes.AppointmentDate.”
-
Lambda personalization: Pass the contact attributes to a Lambda function that retrieves additional customer data from Salesforce or DynamoDB and returns personalized content for the message.
This way, every customer in the campaign hears or receives a message that feels tailored to them.
Q20. How do you prevent your caller ID from being flagged as spam in outbound campaigns?
According to AWS documentation, here are the recommended steps:
-
Register your numbers: In the US, register your phone numbers with a service like Free Caller Registry to establish legitimate caller identity.
-
Use local area codes: Customers are more likely to answer when the caller ID matches their area code or city. This is called area localization or city localization.
-
Use multiple numbers: Rotate caller IDs across your campaign to avoid calling the same customers repeatedly from the same number.
-
Call at optimal times: Never call before 10:00 AM or after 5:00 PM in the customer’s local time zone.
-
Validate phone numbers: Use Amazon Pinpoint to validate contact numbers before dialing.
-
Add SMS to your strategy: Send an SMS before calling to let the customer know who will be calling and when.
-
Engage with app vendors: Third-party apps like Hiya or Nomorobo can block your calls at scale. If your number gets listed, you may need to pay to have it removed.
Q21. What is the difference between predictive and progressive dialing? When would you choose one over the other?
Predictive Dialing
The dialer calls multiple numbers at the same time based on a statistical prediction of when the next agent will become available. The goal is maximum agent utilization. The risk is a higher abandon rate.
Use predictive when: You have a large agent pool, high volume campaigns, and your priority is maximizing the number of customer conversations per hour. Typical use cases are debt collection, marketing promotions, and high-volume sales campaigns.
Progressive Dialing
The dialer waits for an agent to become available before placing the next call. It dials one call per available agent. There is virtually no abandon rate.
Use progressive when: You are running a sensitive campaign where every customer interaction matters, such as healthcare outreach, financial services follow-ups, or situations where compliance with strict abandon rate regulations is critical.
Q22. What are the key metrics available on the outbound campaigns performance dashboard?
For Voice Campaigns
-
Delivery attempts: Total number of dials made by the Amazon Connect dialer
-
Human answer rate: Percentage of calls answered by a live person (requires AMD)
-
Voicemail rate: Percentage of calls that went to voicemail (requires AMD)
-
Voicemail with beep rate: Voicemails where a beep was detected
-
Campaign contacts abandoned after 2 seconds rate: Percentage of live-answered calls not connected to an agent within 2 seconds
-
Avg. dials per minute: Average dials per minute by the Connect dialer
For SMS Campaigns
-
Send attempts: Total SMS messages sent
-
Delivered rate: Percentage of messages successfully delivered
-
SMS delivered: Count of messages delivered to the recipient
-
SMS spam: Count of messages flagged as spam by the carrier
For Email Campaigns
-
Delivered rate: Percentage of emails successfully delivered
-
Bounce rate: Percentage of emails bounced
-
Complaint: Count of emails reported as spam by recipients
Q23. How do you monitor Amazon Connect outbound campaigns using CloudWatch?
For outbound campaign monitoring in CloudWatch, you should set up alarms on the following:
-
ContactFlowErrors and ContactFlowFatalErrors: These metrics tell you when something is failing inside your outbound contact flow, such as a Lambda timeout or a misconfigured flow block.
-
Lambda Errors and Duration: Lambda functions invoked inside outbound flows should be monitored for errors and for duration approaching the 8-second limit.
-
Custom CloudWatch metrics: You can publish custom metrics from your Lambda functions that count AMD outcomes, campaign abandons, and successful agent connects per hour.
-
CloudWatch Logs: Enable flow logging on your outbound contact flows and use CloudWatch Log Insights to query for error patterns across thousands of contacts.
-
SNS alarms: Connect critical CloudWatch alarms to SNS topics that notify the operations team via Slack, email, or PagerDuty when campaign error rates exceed thresholds.
Q24. How does the outbound campaigns performance dashboard compare campaigns over time?
The performance dashboard includes three chart types:
-
Campaign Performance Overview Chart: Shows aggregated metrics for the selected time range. Each metric shows a comparison to a benchmark period. Metrics trending positively vs the benchmark appear in green, and negatives in red.
-
Campaign Progress Over Time Chart: A time-series chart showing dials attempted per campaign broken down by 15-minute, daily, weekly, or monthly intervals. Displays up to 5 campaigns simultaneously.
-
Campaign Progress Comparison Chart: Shows send attempts for the current period vs the benchmark period, sorted by volume. Displays up to 10 campaigns.
There is also a Campaign Metrics Table that provides a detailed row-by-row breakdown of all metrics for each campaign over the selected time range.
Q25. What is the outbound caller ID and how do you configure it?
The outbound caller ID is the phone number and name displayed to customers when your campaign calls them. In Amazon Connect, you configure the caller ID at the queue level.
To configure it:
-
Go to Routing, then Queues in the Amazon Connect admin console
-
Edit the queue used by your campaign
-
Set the Outbound caller ID name and Outbound caller ID number
Important rules
-
Only phone numbers claimed or ported to your Amazon Connect instance can be used as the caller ID number
-
The caller ID name is delivered via the SIP header and may not always appear on all customer devices (up to 75% effective depending on the carrier network)
-
Do not use the following characters in the caller ID name as they are reserved in SIP:
; / ? : @ & = + $ , -
To use an external number as your caller ID, you must raise a support ticket with AWS and prove ownership of the number
Q26. How does Amazon Connect handle do-not-call (DNC) compliance for outbound campaigns?
Amazon Connect itself does not maintain a built-in do-not-call list, but you can implement DNC compliance in the following ways:
-
Pre-filtering the contact list: Before calling PutDialRequestBatch, run your contact list through a Lambda function that checks each number against your DNC database. Only load numbers that pass the check.
-
Lambda check in the outbound flow: At the start of your outbound campaign flow, invoke a Lambda function that checks the incoming caller’s number against the DNC list. If the number is on the list, route to the Disconnect block immediately.
-
Pinpoint phone number validation: Use Amazon Pinpoint to validate numbers and filter out disconnected numbers before loading them into the campaign.
-
Opt-out handling: For SMS campaigns, Amazon Pinpoint automatically handles STOP responses from customers by adding them to an opt-out list and not sending future messages.
For voice compliance with TCPA in the US or Ofcom in the UK, the DNC checking and time-zone-based calling windows must be implemented in your own systems or a compliance middleware layer.
Q27. Can you run multi-channel outbound campaigns in Amazon Connect?
Yes. Amazon Connect outbound campaigns supports running campaigns across voice, SMS, and email either as separate campaigns or as part of a coordinated multi-channel strategy.
A common multi-channel pattern is:
-
Send an SMS the day before: Notify the customer of the upcoming call
-
Place the voice call on the day: Using predictive or progressive dialing
-
Send an email if the call is not answered: With a link to reschedule
Each channel is configured as a separate campaign in Amazon Connect, but they can be coordinated via Lambda functions and Customer Profiles. When a customer does not answer the voice campaign, a Lambda can trigger an SMS campaign for the same customer as a fallback.
Q28. How do you handle time-zone compliance in outbound campaigns?
Amazon Connect does not enforce time-zone rules automatically. You are responsible for ensuring that customers are only contacted during permitted hours.
Best practices
-
Store the customer’s time zone in Customer Profiles or your CRM and include it as a contact attribute when loading records via PutDialRequestBatch.
-
Use Lambda in the outbound flow to check the customer’s local time before connecting to an agent or playing a message. If the current time in the customer’s zone is outside permitted hours, route to Disconnect.
-
Configure your campaign’s hours of operation at the queue level. Create separate queues with region-specific hours for customers in different time zones.
-
Use Amazon EventBridge scheduling to start and stop your outbound campaign at the correct times based on the primary time zone of your contact list.
Regulations like TCPA in the US generally prohibit calls before 8 AM or after 9 PM in the customer’s local time. Always consult your legal team for the specific rules in each country you are calling.
Q29. What is the role of AWS Lambda in outbound campaign contact flows?
Lambda functions play several important roles in outbound campaign flows:
-
Customer data retrieval: Look up account details, appointment information, or balance data from Salesforce, DynamoDB, or RDS and pass it back as contact attributes for use in personalized messages.
-
DNC checking: Query a do-not-call database before the call proceeds.
-
Campaign state updates: After a call, update the customer record in your CRM or database with the outcome (answered, voicemail, not reached).
-
Branching logic: Determine which message to play or which queue to route to based on complex business rules that are too complex for flow blocks alone.
-
Error notification: On Lambda errors, publish an alert to SNS so the operations team is immediately aware.
Note: Lambda functions invoked from Amazon Connect flows have a maximum timeout of 8 seconds. Keep your functions fast by using DynamoDB or in-memory caching rather than slow external API calls where possible.
Also Check – Top 50 Amazon Connect Interview Questions and Answers for 2026
Q30. What are best practices for building outbound campaign contact flows?
-
Always configure the Error branch: Every flow block that can fail (Lambda, Lex, Check Call Progress) should have the Error branch connected to a graceful handling path, not a dead end.
-
Use the Check Call Progress block: For voice campaigns, always include AMD and the Check Call Progress block so you are only connecting agents to live customers.
-
Minimize Lambda execution time: Keep Lambda functions under 3 seconds to ensure they complete well within the 8-second limit with room to spare for network latency.
-
Test with real calls before go-live: The flow simulator does not replicate real telephony conditions. Always test your outbound flows with actual phone calls in a staging environment.
-
Log everything: Enable contact flow logging to CloudWatch. For a campaign dialing 50,000 contacts, flow logs are the only way to diagnose issues at scale.
-
Use contact attributes for personalization: Pass customer name, language preference, and product information as dial request attributes so your flow can use them without additional Lambda lookups.
-
Configure outbound whisper flows: Use whisper flows to brief agents before they are connected to the customer. This improves the quality of the first 10 seconds of every conversation.
Q31. What APIs would you use to build a custom outbound campaign management dashboard?
For a custom campaign management dashboard, you would use:
-
CreateCampaign, UpdateCampaign, DeleteCampaign: Campaign lifecycle management
-
StartCampaign, StopCampaign, PauseCampaign, ResumeCampaign: Control campaign state
-
GetCampaignState: Poll and display the current state of each campaign
-
ListCampaigns: Retrieve all campaigns for display in the dashboard
-
PutDialRequestBatch: Feed the loading progress bar as you batch contacts into the campaign
-
GetMetricDataV2: Retrieve historical metrics for campaign performance charts
-
GetCurrentMetricData: Display real-time queue stats for agent-assisted campaigns
The dashboard would be built as a React single-page application backed by API Gateway and Lambda, with WebSocket support for real-time campaign state updates.
Q32. How do you integrate Salesforce data with Amazon Connect outbound campaigns?
Full Salesforce integration for outbound campaigns follows this pattern:
-
Extract the segment from Salesforce: Use Salesforce SOQL queries to identify the customers to contact (for example, all accounts with renewal_date within the next 7 days and status = active).
-
Sync data to Customer Profiles: Use Amazon AppFlow with the Salesforce connector to sync relevant Salesforce Contact and Account object fields into Amazon Connect Customer Profiles on a scheduled or event-driven basis.
-
Load into the campaign: Write a Lambda function that runs on a schedule or is triggered by AppFlow, reads the Customer Profiles segment, and calls PutDialRequestBatch to load those contacts into the outbound campaign with Salesforce Account ID and relevant attributes.
-
Screen pop on connect: When the campaign call connects to an agent, the Custom CCP reads the contact attributes (including the Salesforce Account ID) and opens the correct Salesforce record automatically using the Salesforce CTI Adapter.
-
Write back campaign outcomes: After each call, use a Lambda triggered by a Contact Trace Record (CTR) event to write the call outcome back to the Salesforce record using the Salesforce REST API.
Q33. What is the difference between a manually loaded campaign and an event-triggered campaign?
Manually Loaded Campaign
You extract a contact list from your CRM or database, load it into the campaign using the PutDialRequestBatch API, and then start the campaign. The list is static at the time of loading. Best for scheduled batch campaigns like weekly renewal reminders or monthly billing follow-ups.
Event-Triggered Campaign
The campaign automatically adds contacts and dials them in real time when a specific event or condition occurs in Customer Profiles. For example, when a customer’s profile attribute changes to “appointment confirmed,” the system immediately places an outbound call. There is no manual loading step. Best for real-time, behavior-triggered outreach like appointment confirmations, transaction alerts, or service completion follow-ups.
The event-triggered approach dramatically reduces the delay between the business event and the customer contact, improving the relevance and effectiveness of the outreach.
Q34. What is a “not detected” outcome in AMD and how should you handle it?
“Not detected” means Amazon Connect’s answering machine detection system was unable to determine whether the call was answered by a live person or a voicemail. This typically happens due to:
-
Long silences on the customer’s end
-
Excessive background noise
-
Unusual greeting patterns that don’t match AMD training data
Handling recommendations
-
Connect to an agent: Since you cannot confirm it was a machine, it is safer to connect the call to an available agent who can determine the situation and respond appropriately.
-
Play an introduction: Play a short “Hello, this is a call from Company X regarding your account” message to prompt a response before connecting to an agent.
-
Log for review: Track “Not detected” outcomes in DynamoDB via Lambda so you can analyze patterns and retrain AMD settings if the rate is consistently high.
Q35. What are the API throttling limits for Amazon Connect outbound campaign APIs?
From the official AWS documentation:
-
PutDialRequestBatch: 10 requests per second
-
StartCampaign: Has its own throttling quota (check current limits in AWS Service Quotas)
-
StopCampaign: Has its own throttling quota
-
Other Campaign APIs (GetCampaignState, ListCampaigns, etc.): Have individual throttling quotas
To work within these limits when loading large contact lists
-
Build retry logic with exponential backoff in your loading Lambda
-
Batch at the maximum 25 contacts per PutDialRequestBatch call
-
Distribute loading across multiple Lambda invocations running in parallel if you need to load millions of contacts quickly
-
Load contacts progressively as the campaign runs rather than trying to front-load the entire list at once
SECTION 3: SCENARIO-BASED QUESTIONS
Q36. Scenario: Your outbound campaign is dialing thousands of customers but the agent abandon rate is consistently above 5%. The client is worried about compliance. What would you do?
This is a predictive dialing compliance issue. Here is how I would handle it:
First, check the current campaign configuration to see the configured abandon rate threshold. The FTC in the US requires this to be at or below 3%.
Second, review the outbound campaigns performance dashboard and look at the “Campaign contacts abandoned after 2 seconds rate” metric over the past several hours.
Third, immediately pause the campaign using StopCampaign via the API to prevent further compliance violations.
The likely causes are
-
Agent staffing is too low relative to the dial rate
-
Agent after-contact work (ACW) times are too long
-
A sudden drop in agent availability
The fix
-
Increase the number of available agents handling the campaign queue before restarting
-
Reduce the dialing intensity by switching to progressive dialing temporarily
-
Configure the predictive dialer’s abandon rate threshold to a stricter value
-
Set up a CloudWatch Alarm on the abandon rate metric with an SNS notification
Document the incident and the corrective actions taken for compliance audit purposes.
Check – Audio Prompt Converter (wav)
Q37. Scenario: Your outbound campaign calls are getting answered but agents report that customers are saying “I never asked for a call from you” and some are threatening to report spam. What is going wrong and how do you fix it?
This suggests the contact list contains customers who have not consented to be contacted, or who previously opted out.
Immediate action
Stop the campaign immediately to prevent more damage to the company’s reputation and to avoid TCPA violations.
Investigation
-
Review the source data that was loaded via PutDialRequestBatch
-
Check whether there is a DNC database that was not checked before loading
-
Check whether the campaign includes customers who previously responded to SMS messages with STOP
Long-term fix
-
Implement a mandatory DNC check Lambda that runs before any contact is loaded
-
Integrate consent verification from your CRM into the campaign loading pipeline
-
Implement time-zone checking so customers are only called during appropriate hours
-
Add a campaign review approval step where a compliance officer signs off
-
Register your phone numbers with the Free Caller Registry
Q38. Scenario: Your outbound campaign is running for appointment reminders but customers say they received the same call three times. What could be causing this and how do you prevent it?
This is a duplicate contact loading problem.
Root cause analysis
The most likely cause is that the Lambda function or ETL job loading contacts via PutDialRequestBatch is running multiple times due to:
-
An EventBridge rule triggering the loader more than once (missing idempotency)
-
A retry mechanism that re-sends the same batch after a temporary failure
-
A data pipeline that extracts the same records twice due to an incorrect watermark timestamp
Prevention strategy
-
Implement idempotency in your contact loading Lambda using DynamoDB to track loaded contacts
-
Use a unique identifier (customer ID + campaign ID + date) as the deduplication key
-
Track the loading job execution in DynamoDB with “start” and “complete” status
-
Set up CloudWatch Logs on your loading Lambda and alert on duplicate execution
-
Ensure event trigger conditions are precise enough that the same event does not fire multiple times
Q39. Scenario: A Lambda function in your outbound campaign flow is timing out and causing calls to go to the error branch. The campaign is dialing at high volume and many customers are getting a poor experience. What would you do right now?
This is a P1 incident.
Immediate action (within 5 minutes)
Stop the campaign using StopCampaign. This prevents further customers from receiving a bad experience.
Diagnose (within 10 minutes)
-
Open CloudWatch Logs for the Lambda function and filter for “Task timed out” log entries
-
Enable X-Ray tracing and look at the trace for the slowest invocations
-
Identify what operation is slow: DynamoDB read, Salesforce API call, network call
Common fixes
-
If downstream API is slow: Implement a DynamoDB cache that stores the last known good response
-
If cold start problem: Enable Lambda Provisioned Concurrency on this function
-
If VPC network issue: Check VPC configuration and VPC endpoints
-
Increase Lambda memory (e.g., from 128MB to 512MB or 1024MB) for more CPU
After fixing, test in staging with 50 trial calls before restarting the production campaign.
Q40. Scenario: The business wants to run an outbound campaign to customers in five different countries (US, UK, Australia, Germany, France). What are the key things you need to consider in the architecture?
This is a multi-region, multi-compliance outbound campaign design question.
Phone numbers
Claim phone numbers in each country through Amazon Connect. Not all countries support the same number types. Check the Amazon Connect Regional requirements documentation for each country.
Time-zone compliance
Store the customer’s country and time zone as a contact attribute. In the outbound flow, invoke a Lambda that converts UTC to local time and checks permitted calling windows.
Regulatory compliance
-
US: TCPA requires written consent and ≤3% abandon rate
-
UK: Ofcom’s SIAA Code requires calls be connected within 2 seconds
-
Australia: ACMA telemarketing rules apply
-
Germany: GDPR and UWG restrict unsolicited commercial calls
-
France: GDPR plus local telemarketing restrictions
Build a compliance rules engine (Lambda + DynamoDB) that enforces the correct rules per country.
Caller ID
Use local phone numbers as the caller ID for each country where possible.
Architecture summary
One Amazon Connect instance with separate queues per country, a compliance Lambda layer, country-specific caller IDs, and a pre-dial validation Lambda that checks time zone and DNC rules.
Q41. Scenario: Your client wants to send appointment reminders without any agents. The message should say the customer’s name and appointment date. How would you build this?
This is an agentless voice dialing campaign with personalized TTS.
Campaign configuration
Create the campaign with dialing mode set to Agentless (Voice Dialing). This mode places calls and runs the contact flow without requiring an agent.
Contact data loading
When calling PutDialRequestBatch, include contact attributes for each customer:
-
CustomerFirstName: “Sarah”
-
AppointmentDate: “July 15th at 2 PM”
-
ClinicName: “City Medical Center”
Outbound contact flow design
-
Play a Polly TTS prompt using SSML that references the contact attributes: “Hello, this is a reminder from .Attributes.ClinicNamefor.Attributes.CustomerFirstName. Your appointment is scheduled for $.Attributes.AppointmentDate.”
-
Add a Lex bot integration to allow customers to confirm, cancel, or reschedule
-
Based on the Lex response, invoke a Lambda to update the appointment status in the CRM
-
Use the Check Call Progress block with AMD enabled so voicemail branches play a shorter version
Voicemail handling
If the call goes to voicemail with a beep, play a shorter version: “This is a reminder from .Attributes.ClinicNameaboutyourappointmenton.Attributes.AppointmentDate. Please call us back to confirm.”
Outcome tracking
After each call, a Lambda triggered by the CTR writes the call outcome back to the appointment management system.
Q42. Scenario: Your predictive dialing campaign is showing a very low human answer rate (below 10%). The client is frustrated. What would you investigate and recommend?
A human answer rate below 10% is a serious problem.
Step 1: Check AMD settings
Is answering machine detection actually enabled? If not, the “human answered” metric will not be populated.
Step 2: Review contact list quality
Use Amazon Pinpoint’s phone number validation feature to clean the list. If many numbers are disconnected or invalid, the answer rate will be low.
Step 3: Check calling hours
Analyze the time distribution of unanswered calls. Are you calling when customers are available?
Step 4: Caller ID reputation
Are your outbound numbers being flagged as spam? Try using a different phone number and compare answer rates.
Step 5: Check for technical issues
Review CloudWatch Logs for any call connection failures or errors.
Recommendations
-
Clean the contact list using Pinpoint number validation
-
Test different calling times using A/B testing
-
Rotate to fresh phone numbers
-
Add a pre-call SMS to warm up customers
-
Implement area code localization
Q43. Scenario: The business wants to automatically call customers within 5 minutes of them submitting a web form. How would you architect this?
This is a real-time, event-triggered outbound campaign use case.
Architecture
-
Web form submission: When the customer submits the form, the frontend calls an API Gateway endpoint.
-
Lambda processing: The API Gateway triggers a Lambda that:
-
Creates or updates the customer’s profile in Customer Profiles
-
Sets a contact attribute: “form_submitted = true”
-
Calls PutDialRequestBatch to immediately load this contact into a pre-configured outbound campaign
-
-
Campaign configuration: Pre-configure an outbound campaign that is always in the active state, waiting for new contacts to be loaded. This eliminates the delay of starting a new campaign each time.
-
Dialing: Amazon Connect immediately begins dialing the customer. With no other contacts in the queue, the call should be placed within seconds of loading.
-
Agent connect: When the call is answered, the outbound flow routes the contact to the first available agent. The agent sees the customer’s form submission details via a screen pop.
The total latency from form submission to call placed is typically under 30 seconds.
Check – CloudTrail Log Analyser
Q44. Scenario: Your client says they want to run outbound campaigns but are worried about data security. Their customer data includes PII like names, phone numbers, and account numbers. How would you address their security concerns?
Data in transit
Amazon Connect uses TLS encryption for all data in transit. API calls to PutDialRequestBatch are encrypted over HTTPS. Ensure all Lambda functions and API clients enforce TLS 1.2 or higher.
Data at rest
Enable AWS KMS encryption on your Customer Profiles domain to encrypt stored customer data at rest.
IAM least privilege
The IAM role used by the Lambda function that loads contacts should have permission only to call PutDialRequestBatch on the specific campaign ARN.
Contact attribute sensitivity
Avoid storing raw sensitive PII (full account numbers, SSNs) in contact attributes. Instead, store a reference ID and have the agent or Lambda look up sensitive data securely when needed.
Flow logging
If flow logging is enabled, contact attributes may appear in CloudWatch Logs. Use a Lambda data transformation to redact or mask PII before logs are stored.
VPC for Lambda
Run Lambda functions that handle PII inside a VPC with security groups restricting outbound access.
Audit trail
Enable AWS CloudTrail to log all API calls to the campaign APIs for a complete audit trail.
Q45. Scenario: You are migrating an existing outbound dialing platform (a legacy on-premises predictive dialer) to Amazon Connect. What is your migration approach?
Phase 1: Discovery and Assessment
-
Document the existing dialer’s architecture and integration points
-
Identify all contact flows, IVR scripts, and post-call processes
-
Audit current call volumes, peak hours, and performance benchmarks
-
Identify compliance requirements
Phase 2: Foundation Build
-
Set up the Amazon Connect instance with outbound campaigns enabled
-
Claim the same or equivalent phone numbers (port existing DIDs if possible)
-
Build Customer Profiles integration with the CRM
-
Recreate DNC checking logic in Lambda
-
Build outbound contact flows replicating legacy IVR scripts
Phase 3: Parallel Running
-
Run Amazon Connect campaigns on a small segment (5-10%) in parallel with legacy
-
Compare answer rates, abandon rates, and conversion rates
-
Train agents on the new CCP and outbound workflow
-
Validate screen pops, call recording, and reporting
Phase 4: Full Cutover
-
Gradually increase the percentage routed through Amazon Connect (20%, 50%, 100%)
-
Decommission the legacy dialer after 2-4 weeks of stable performance
-
Migrate historical campaign data to S3 for archival
Phase 5: Optimization
-
Review first 30 days of performance metrics
-
Tune AMD settings, dialing rates, and calling hours
-
Implement CloudWatch dashboards and alarms
Q46. Scenario: An outbound campaign that was working perfectly last week is now failing. Contacts are being loaded but the campaign state shows “Failed.” What is your troubleshooting process?
Step 1: Check CloudWatch Logs for the campaign for error messages.
Step 2: Check the campaign’s associated queue. Has it been accidentally deleted or disabled? Has the hours of operation changed?
Step 3: Check the outbound contact flow. Has anyone modified or deleted it? Verify it can be saved and published without errors.
Step 4: Check Lambda functions. Look for errors, permission denials, or timeout issues in CloudWatch Logs.
Step 5: Check IAM permissions. Verify that the service-linked roles for outbound campaigns are still intact.
Step 6: Check phone numbers. Verify in the Amazon Connect console that the numbers are still claimed and active.
Step 7: Check Amazon Pinpoint. The campaign failure might originate in Pinpoint.
If no internal issue is found, check the AWS Service Health Dashboard for active incidents.
Q47. Scenario: Your outbound campaign volume has grown from 10,000 contacts per day to 500,000 contacts per day in three months. The current architecture is struggling. How do you scale it?
Contact loading throughput
At 500,000 contacts per day, you need to load approximately 5 contacts per second. Use parallel Lambda invocations (via SQS and Lambda concurrency) to load contacts across multiple batches simultaneously.
Lambda concurrency
Check Lambda concurrency limits and request increases if needed. Set reserved concurrency to prevent campaign Lambdas from consuming all available concurrency.
DynamoDB throughput
If your Lambda functions read from DynamoDB for each call, provision adequate read capacity or switch to on-demand mode. Enable DAX caching for high-frequency reads.
Amazon Pinpoint limits
Review Pinpoint message sending quotas. Request quota increases through AWS Support if needed.
Amazon Connect service quotas
Check concurrent call quotas. Ensure your concurrent call quota is sufficient for the number of calls your predictive dialer will have in-flight.
Agent headcount
For agent-assisted campaigns, 500,000 contacts per day requires significantly more agents. Use Amazon Connect Forecasting and Capacity Planning to model required headcount.
Multi-region consideration
For true global scale or business continuity, consider deploying across two Amazon Connect instances in different AWS regions using Global Resiliency.
Q48. Scenario: You need to build a solution where a customer can press 1 during a marketing campaign call to be immediately removed from future campaigns. How would you implement this?
This is an in-call opt-out mechanism.
Outbound contact flow design
-
After the campaign message plays, use a “Get Customer Input” block (DTMF mode) to detect if the customer presses a key
-
Branch: If the customer presses 1, route to the opt-out Lambda function
Opt-out Lambda function
The Lambda does the following:
-
Retrieves the customer’s phone number from contact attributes
-
Adds the number to a DNC table in DynamoDB with timestamp and campaign ID
-
Updates Customer Profiles to set an attribute like “outbound_opt_out = true”
-
Optionally sends a confirmation SMS via Amazon Pinpoint
-
Returns a success response to the flow
Subsequent campaign loading
-
Update the PutDialRequestBatch loader Lambda to query the DNC table before loading each contact
-
If the customer’s number is in the DNC table, skip the contact
For SMS campaigns, Amazon Pinpoint handles STOP responses automatically.
Q49. Scenario: Your company has two business units. Business Unit 1 runs sales campaigns with predictive dialing. Business Unit 2 runs appointment reminders with agentless dialing. They share the same Amazon Connect instance. How do you separate them operationally?
Queues
Create separate queues for each BU:
-
BU1_Sales_Predictive (with Sales agents)
-
BU2_AppointmentReminders_Agentless (no agents required)
Campaigns
Each BU has its own set of campaigns pointing to their respective queues and contact flows.
Contact flows
Create separate outbound flows for each BU, reflecting their different use cases.
Reporting
Tag BU1 resources with “BusinessUnit:Sales” and BU2 resources with “BusinessUnit:Operations”. Use tag-based access control so BU1 supervisors only see BU1 queues and campaigns.
Phone numbers
Assign separate outbound caller IDs per BU.
IAM access
Create separate IAM roles for BU1 and BU2 administrators. Use resource-based policies to restrict access.
Monitoring
Set up separate CloudWatch dashboards per BU with relevant metrics.
This design allows both BUs to operate independently within the same Amazon Connect instance while sharing infrastructure costs.
Q50. Scenario: After a major outbound campaign, your client receives a complaint from a customer saying their number is on the national DNC registry but they still received a call. How do you respond and what process changes would you make?
This is a serious compliance incident.
Immediate response
-
Apologize and confirm opt-out has been applied immediately. Add their number to your internal DNC list.
-
Pull the Contact Trace Record (CTR) for the call to document exactly when and which campaign.
-
Notify legal and compliance teams immediately. TCPA violations carry fines of up to $1,500 per call.
Root cause investigation
-
Review the DNC checking mechanism. Was there a DNC validation Lambda?
-
Check timing: Did the customer register after the list was extracted but before the campaign ran?
-
Check for bugs in the DNC Lambda.
Process improvements
-
Implement real-time DNC validation: Add a DNC check in the outbound contact flow itself before the call connects.
-
Use a DNC service provider: Integrate a third-party national DNC registry service with real-time API access.
-
Implement a 30-day DNC refresh cycle: Re-validate all numbers against the DNC registry every 30 days.
-
Add a compliance checkpoint: Require a compliance officer to approve the contact list before any campaign can be started.
-
Maintain a detailed audit log: Log every DNC check result to an immutable S3 audit trail using S3 Object Lock.
Document the incident, root cause, and corrective actions in writing. Many regulatory bodies require evidence of a corrective action plan following a compliance complaint.
Also Check – Top Amazon Connect Contact Lens Interview Questions and Answers (2026)

