Log Aircall calls to Google Sheets, alert Slack on misses
When an Aircall call wraps, Geni appends the full record to a Google Sheets log and pings a Slack channel only if the call was missed or ran long.
Every time an Aircall call finishes, log the full call record to a Google Sheets tab and, only if the call was missed or ran long, send a compact Slack message to a call-log channel. The sheet is exhaustive; the Slack channel is deliberately quiet.
Trigger: Aircall webhook on the call.ended event. Use call.ended, not call.hungup, so the recording URL and final duration are populated by the time the workflow runs (Aircall fires call.ended roughly thirty seconds after hang-up once these fields are finalized).
For each call.ended event, do exactly this:
1. Call Aircall's Retrieve a Call operation with the call id from the webhook payload so I have the full, up-to-date record.
2. Extract these fixed fields from the call: id, direction (inbound or outbound), started_at, ended_at, duration in seconds, agent name, agent email, caller number, callee number, tags joined with commas, answered (true or false), missed_call_reason, recording url, and cost.
3. Append exactly one row to Google Sheets using the Append Values operation, in that exact column order, targeting the spreadsheet id and tab name I configure.
4. If the call was missed OR the duration exceeded my configured threshold (default: 180 seconds), post one compact message to Slack using the bot Send a Message operation, targeting the call-log channel I configure. Keep the message short: direction, agent name, caller and callee numbers, duration, missed reason if any, and a link to the recording when there is one. If the call was answered and under the threshold, do nothing on Slack.
Expose these customization knobs at setup: spreadsheet id and tab name, Slack channel, long-call threshold in seconds, and whether alerts should fire on missed calls only, long calls only, or both.
This is deterministic code, not an agent: every field is a fixed extraction, the row shape is static, the alert rule is a threshold check, and at most one row and one message are produced per event.
What does this prompt do?
- Turns every finished Aircall call into a tidy row in a Google Sheets call log so your team has one searchable record of every conversation.
- Captures the fields that matter for reporting: direction, duration, agent, caller and callee numbers, tags, missed reason, recording link, and cost.
- Pings a Slack channel only when a call was missed or ran longer than your threshold, so the sheet stays exhaustive and the channel stays quiet.
- Fires within seconds of hang-up, using Aircall's end-of-call event so the recording link and final duration are already populated.
What do I need to use this?
- An Aircall account with permission to create webhooks and use the API
- A Google account with access to the Google Sheets file and tab you want to write to
- A Slack workspace and the name of a channel for the missed and long call alerts
How can I customize it?
- Change the duration threshold that triggers a Slack alert (default: over three minutes)
- Pick which Slack channel receives alerts and reword the message body
- Add or remove columns in the sheet, or point the workflow at a different spreadsheet entirely
FAQs
Will this catch calls made from the Aircall mobile app?
How quickly does the row appear in the sheet after a call ends?
Can I keep the Slack alerts to just missed calls and turn off the long-call pings?
What happens if the call had no recording?
Can I split calls across multiple sheets, like one tab per agent?
Related templates
Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.
See every Google Maps listing you manage on one screen, ranked worst first, with an audit button that writes the fix list for you.
Your team picks a template, finds the customer, checks they are safe to email, then sends it, with every send logged where the whole team can see it.
Every logo, photo, video cut and ad export in one searchable grid, with previews, campaign tags and rights expiry dates at a glance.
Twice a day we spot the people clicking your pricing and demo pages, create a follow-up task for their owner, and post a ranked recap to Slack.
One board showing every dashboard and Look with its folder, owner and favorite count, so you can find dead content and retire it safely.
Stop losing track of every phone call.
Get a searchable log of every Aircall conversation and a Slack ping only when it actually matters.