Building elegant post-call automations with the Aircall AI Voice Agent (AI VA) is simpler than you might expect. By combining the AI VA with a low-code automation platform like Zapier, luxury e-commerce teams can transform inbound calls into seamless, high-touch workflows, delivering a concierge-level customer experience while saving valuable time and ensuring no client inquiry goes unanswered.
In this article, we’ll walk through a practical example: setting up a post-call automation for a sales representative managing inbound calls from discerning luxury shoppers.
In this scenario, the AI VA:
- Acts as a virtual concierge, ensuring every inbound call is answered promptly, even when the sales representative is unavailable.
- Collects essential client details, such as their full name, contact information, and the best time for a personalized consultation
- Automatically schedules a personalized consultation or private shopping session based on the client’s preferred date and time.
- If the requested time isn’t available, the automation sends a polished follow-up email inviting the client to select an alternative slot, maintaining a premium, effortless experience without any manual coordination.
Note: For more details, please consult our Developers page: Aircall's Public API full documentation.
Setting Up the Aircall AI Voice Agent
In this article, we assume you already have experience building an Aircall AI Voice Agent. If not, please refer to the Aircall AI Voice Agent launch guide.
1. In the “Conversational Guidelines” field, include the following instructions:
Note: At the moment of this article’s publication, Conversational Guidelines is still in beta and requires a feature flag to be enabled. If you are interested in using this feature, please contact our Customer Success team.
Tip: ## Rule 1: Email collection
If you need to collect an email address from the caller, always follow these steps:
> Ask the caller to spell their email address.
> Repeat back the spelling exactly as given (letter by letter).
> Do not guess, improvise, or change what the caller said.
## Rule 2: Full name collection
If you need to collect a name from the caller, always follow these steps:
> Ask the caller to spell their full name to ensure it is documented correctly.
> Do not guess, improvise, or change what the caller said.
## Rule 3: Specification for booking demos
If the caller does not provide all of the following details for a demo meeting, ask again for:
> The exact date (e.g. February 3), year (e.g. 2025), time (e.g. 3 PM), and timezone (e.g. EST).
Requests like "tomorrow", "two days from now", or "after the weekend" are not sufficient. Always document the demo meeting date, year, and time in ISO 8601 Date and Time format (e.g. 2025-10-16T15:00:00-04:00).
Feel free to adjust the wording according to your specific needs, but in general these directives will help guide the AI VA in behaving more intelligently - especially when collecting pieces of information that can be inherently tricky (i.e. email addresses, dates, and times).
Note: To ensure that Zapier correctly interprets the date and time, we use a behavioral instruction that directs the AI VA to always document it in a standardized format: ISO 8601 Date and Time (e.g. 2025-10-16T15:00:00-04:00).
2. Before setting up your automation, make sure your AI Voice Agent is configured with intake questions that capture all the key information you’ll need for downstream actions (such as booking a meeting or sending a follow-up email).
In this example, our goal is to collect the client’s full name, email address, and a specific date and time for scheduling a demo. Clear and structured questions help the AI VA capture accurate details and ensure a seamless automation flow.
Here are some examples:
- Could you let me know your full name please?
- In case we get disconnected, can you provide me with your email address?
- Would you please provide a specific date, year, time, and timezone for an agent to book a consultation? It is important to specify all of these details for an accurate and automated booking.
Note: Asking for a specific date and time can be complex due to time zone differences and the use of relative expressions (such as “tomorrow” or “in two days”). To prevent errors when automating calendar bookings, always request an explicit date, time, and timezone. This ensures your system accurately interprets and books the meeting, regardless of the client’s or sales rep’s location.
3. Add the AI VA to the end of your call flow (to act as overflow in case the sales rep misses the inbound call).
Setting up a Zapier Flow (Pt. 1)
Note: This article assumes you already have experience building a Zap. If not, please contact our Customer Success team if you are interested in engaging Aircall Professional Services to help you build this (or a similar) automation.
In your Zap, set up a “Webhook by Zapier” Trigger (“Catch Hook”) to listen for a call-event notification from Aircall. Copy the Webhook URL that is generated.
Setting up the AI Voice Agent Webhook
In the main Aircall Admin Dashboard, select “Integrations & API” on the left-side panel and create a new “Webhook”.
Paste the Zap Webhook URL from the previous step. Moreover, ensure you only have “ai_voice_agent.summary” webhook notification enabled.
This will essentially send a notification to Zapier whenever an AI VA finishes speaking with a caller (which will also contain a payload with the relevant intake questions and responses collected by the voice agent).
Setting up a Zapier Flow (Pt. 2)
In general when Aircall sends the webhook notification containing the AI VA’s collected intake questions and responses, it will have the following payload structure (JSON):
1. Next, we’ll process and “itemize” the webhook payload received from Aircall so that each intake response can be referenced in later Zap steps. To do this, add a Formatter by Zapier step with the “Utilities” event and configure it as follows:
- Transform: Line-item to Text
- Input: Select the field from the Zap trigger labeled “Data Extracted Data Answer”
- This contains the list of all intake answers captured by the AI VA
- Separator: |||
This step converts the line-item array into a single block of text, with each item separated by your chosen delimiter (|||). In practical terms, this allows you to easily reference individual responses (such as name, email, or demo time) in subsequent Zap actions, like sending a follow-up email or creating a calendar event.
2. The next step is to reformat the requested date of the future demo meeting to one that we know Zapier will understand. To do this, add a Formatter by Zapier step with the “Date / Time” event and configure it as follows:
- Transform: Format
- Input: Select the booking date/time from the previous “itemization” step
- To Format: YYYY-MM-DDTHH:mm:ssZ
- To Timezone: UTC
- From Format: YYYY-MM-DDTHH:mm:ssZ
- From Timezone: UTC
3. Next, we will need to calculate the end date/time of the future demo meeting (i.e. how long the demo should be). To do this, add a Formatter by Zapier step with the “Date / Time” event and configure it as follows:
- Transform: Add/Subtract Time
- Input: Select the booking date/time from the previous “reformat” step
- Expression: +X minutes
- Feel free to adjust this to any timeframe that is required
- To Format: YYYY-MM-DDTHH:mm:ssZ
- From Format: YYYY-MM-DDTHH:mm:ssZ
4. Moving forward, we will need to validate whether the suggested date/time from the caller for the demo conflicts with any existing meetings in the sales rep’s calendar. To do this, add a Google Calendar step with the “Find Busy Periods in Calendar” action event and configure it as follows:
- Calendar: The relevant calendar of the sales rep
- Start Time: Select the booking date/time from the previous “reformat” step
- End Time: Select the booking end date/time from the previous step
- Successful if no search results are found: True
- If multiple search results are found: Return first search result
If this action returns “false”, it means there is no conflicting meeting in the sales rep’s calendar. If it returns “true”, then there is a conflict.
5. We will need to take different actions depending if there is a meeting conflict or not. To do this, add “Paths” step with two branches:
- There is an available slot (i.e. no meeting conflict)
- Fallback (i.e. there is a meeting conflict)
“Available Slot” Branch
6. Set up the Path conditions for the “Available Slot” branch. To do this, set up the following condition:
- Only continue if: Select the result of the previous Google Calendar step (i.e. “Find Busy Periods in Calendar”)
- Operator: Is false
7. Finally, we can create a booking in the sales rep’s calendar. To do this, add a Google Calendar step with the “Create Detailed Event” action event and configure it as follows:
- Calendar: Select the sales rep’s calendar
- Summary: The subject of the meeting invite
- Description: The description of the meeting invite
- Start Date & Time: Select the booking date/time from the previous “reformat” step
- End Date & Time: Select the booking end date/time from the previous step (calculated from the booking date/time)
- Attendees: Select the email address of the caller collected from the previous “itemization” step
“Fallback” Branch
In case there is a meeting conflict, we will need to send an automatic email to the client asking for another date/time that is convenient for a future consultation.
8. Under the “Fallback” branch (where no conditions need to be set as it captures all other situations), add a Gmail step with the “Send Email” action event and configure it as follows:
- To: Select the email address of the caller collected from the previous “itemization” step
- From: Select the sales rep’s Gmail account
- From Name: sales rep’s full name
- Subject: Subject of the email
- Body: Body of the email
Google Calendar Invite Example
Once the Zap is activated, it should be able to integrate with Aircall’s AI Voice Agent to automatically book meetings with inbound-calling clients that were missed by the sales representative!
Example (email invitation sent when consultation booked successfully):
Example (email sent when there is a meeting conflict):