How to set up AI chatbot actions on every channel
Supportweave Team · July 17, 2026 · 8 min read

An agent that only answers questions is half an agent. The support requests that actually cost you money aren't “what are your hours” — they're the ones with a next step. Book the appointment. Capture the lead before it cools. Look up the order. Get a human involved before a frustrated customer churns. Great support doesn't just reply; it does the thing.
That's what actions are. A Supportweave agent can capture and qualify leads, book appointments through Cal.com or Calendly, look up orders, create tickets, call your own systems, and hand off to a person — right inside the conversation, with every run logged for you to audit. This guide walks through turning on each action, where it runs, and how email — the one human-first channel — still closes the loop.
Where actions run
Here's the thing to get straight up front: an action is something the AI *does* on its own, so it runs wherever the AI answers on its own — your website widget, your voice phone line, and the five AI-first chat channels (WhatsApp, Messenger, Instagram, SMS, Slack). Toggle an action on once, at the chatbot level, and it works across all of them. There's no wiring it up per channel and no separate setup for voice versus web versus chat.
Email is the one human-first channel. Those messages don't get an automatic AI reply. Each one lands in your shared inbox, gets flagged for a human the moment it arrives, and your teammate replies with an AI copilot drafting the answer from your knowledge base. The customer still gets a fast, grounded reply — a person just presses send. And when an action genuinely needs to happen there — book the slot, capture the lead — your teammate does it from the inbox with the whole thread in front of them. (Prefer a chat channel to run human-first too? Flip its AI replies toggle off and it behaves exactly like email.)
So this guide is really two loops you run once each:
- 1Turn on the actions you want, on the chatbot.
- 2Connect the channels you want your customers to reach you on.
We cover the actions here. For the channel-connection side — the webhook-paste pattern that's the same short flow for every provider — see put one AI chatbot on every channel. Do that once per channel and your widget, voice line, and AI-first chat channels pick up every action automatically.
What you'll need
- A Supportweave workspace (set up during your demo)
- A trained chatbot — actions are only as good as the agent running them, so train it on your knowledge base first
- At least one connected channel to test on (the website widget is the fastest — one script tag)
- For booking: a Cal.com or Calendly account
- For custom actions: an API endpoint you control
Actions are toggled per chatbot, so if you run several agents you decide exactly which ones can book, which can capture leads, and which can touch your systems.
Action 1: Capture leads
The most common reason support conversations have value: someone interested is on the other end. Lead capture turns a chat into a qualified record instead of a message that scrolls away.
Turn it on
- 1Open your chatbot's Actions settings.
- 2Toggle Lead capture on.
- 3Choose which details to collect — name, email, phone, and any custom fields you qualify on.
- 4Set when it fires: on a buying signal, at the end of a conversation, or when the agent decides the person is a fit.
Every captured lead becomes a record in your lead inbox — with status, owner, score, and the source chatbot — ready to export to your pipeline.
How it behaves per channel
- Website widget: the AI collects the details inline with validation and writes the qualified lead to your lead inbox, no separate form to build.
- Voice: the agent captures details by speech and writes them to the same lead record.
- WhatsApp, Instagram, Messenger, SMS, Slack: the AI collects and qualifies the lead in-thread, exactly as it does on the widget, and writes it to your lead inbox — unless you've switched that channel to human-first, in which case it behaves like email below.
- Email: the thread lands in your shared inbox flagged for a human, the contact's address already attached. Your teammate captures the lead from the thread, with the copilot drafting the qualifying questions to ask.
Action 2: Book appointments
For clinics, salons, agencies, and anyone who sells time, a booking that happens inside the conversation is a booking you don't lose to after-hours silence.
Turn it on
- 1In the chatbot's Actions settings, toggle Booking on.
- 2Connect your Cal.com or Calendly account.
- 3Pick the event type(s) the agent is allowed to book.
- 4Set the guardrails — which services, how far out, and any buffer rules.
Now for the part that makes booking feel effortless. Before it proposes a time, the agent runs a live availability lookup — it pulls your real open slots straight from Cal.com or Calendly, so "does Tuesday at 3pm work?" is backed by your actual calendar, not a guess it has to walk back when the slot turns out to be taken. And because booking writes to your calendar, it's confirm-first: the agent reads back exactly what it's about to book — service, date, time — and only books once the customer says yes.
One note on the live lookup: it needs a real calendar API, so it works with Cal.com and Calendly. Point the booking action at a generic webhook instead and the agent can still book, but it can't pre-check open slots there.
How it behaves per channel
- Website widget: the AI checks live availability, proposes real open times, reads back the details, and books once the visitor confirms — all in-thread.
- Voice: the agent books by voice, reads the confirmed time back to the caller, and locks it in — the highest-intent booking channel there is, because they picked up the phone.
- WhatsApp, Instagram, Messenger, SMS, Slack: the AI checks live availability, proposes real open times, reads back the details, and books once the visitor confirms — the same confirm-first flow as the widget. Switch a channel to human-first and your teammate books it from the inbox instead.
- Email: the thread lands in your shared inbox flagged for a human, with a copilot-drafted reply. Your teammate books from the inbox and the confirmation goes back out by email.
- Wherever it's booked: the confirmed appointment shows up in your analytics as a booked outcome, not just a message.
Action 3: Look up orders
“Where's my order?” is one of the most repetitive questions in e-commerce support. Answered by a human, it's pure cost. Answered by the agent, it's instant.
Turn it on
- 1Toggle Order lookup on in the chatbot's Actions settings.
- 2Connect the source of truth — your store platform or an order endpoint you expose.
- 3Decide what the agent may reveal: status, tracking, and delivery estimate.
- 4Set how it verifies the customer before sharing order details.
How it behaves per channel
- Website widget: the customer gives an order number or email and the AI returns status and tracking in seconds.
- Voice: the agent looks up the order mid-call and reads the status aloud.
- WhatsApp, SMS, Instagram, Messenger, Slack: the AI runs the lookup in-thread and returns status and tracking, just as on the widget — unless that channel is set to human-first.
- Email: the request lands in your shared inbox flagged for a human; your teammate runs the lookup from the thread and sends the copilot-drafted status back by email.
- Wherever it runs: the lookup is grounded in your real data, so a delivery date comes from your system rather than a guess.
Action 4: Create tickets
Some issues genuinely need to become a tracked task. Ticket creation lets the agent open one automatically, with the full context already attached, so nothing gets retyped.
Turn it on
- 1Toggle Ticket creation on in the chatbot's Actions settings.
- 2Connect your ticketing destination.
- 3Map what goes on the ticket — subject, description, priority, and tags.
- 4Choose when the agent opens one versus answering directly.
How it behaves per channel
- Website widget, voice & AI-first chat channels: the AI opens the ticket itself, with the full transcript attached — and because a ticket is a write action, it confirms the details with the customer before creating it.
- Email: the thread is already in your shared inbox; your teammate opens the ticket from it in a click, transcript and all. (Same for any chat channel you've set to human-first.)
- Either way: the ticket carries the full context, so your team starts with the story instead of “can you explain that again.”
Action 5: Call your own systems (custom actions)
This is the one that turns a support agent into an operator for your specific business. Custom actions let the agent call your own APIs — check a subscription, apply a credit, trigger a workflow — inside the conversation.
Turn it on
- 1In the chatbot's Actions settings, add a Custom action.
- 2Give it a clear name and description so the agent knows when to use it.
- 3Point it at your endpoint — method, URL, and the parameters the agent should collect.
- 4Add it to the allow-list. Actions run only against endpoints you've explicitly approved, so an endpoint that isn't on the list won't be called.
- 5Save, and test it in the playground before going live.
Every custom-action run is logged and auditable — you can see exactly what the agent called, with what parameters, in which conversation.
How it behaves per channel
- Website widget, voice & AI-first chat channels: a custom action is agent logic, so once it's on it fires wherever the AI answers. If it writes anything, it's confirm-first — the agent reads back what it's about to do and runs it only after a yes.
- Email (and any chat channel set to human-first): these come into your shared inbox for a human. The custom action doesn't fire on its own there, so your teammate takes the equivalent step with the full thread as context and replies on the customer's channel.
Action 6: Hand off to a human
The most important action is knowing when to stop. When a conversation needs a person — an angry customer, an edge case, a high-value deal — the agent escalates cleanly instead of guessing.
Turn it on
- 1Toggle Human handoff on in the chatbot's Actions settings.
- 2Set the triggers: a customer asking for a human, low confidence, a keyword, or business rules you define.
- 3Decide routing — who gets the conversation, and your hours.
- 4Set the after-hours fallback: capture a lead and promise a follow-up.
On handoff, your teammate picks up in the unified inbox with the full transcript, AI-suggested replies, and internal notes.
How it behaves per channel
- Website, WhatsApp, Instagram, Messenger, SMS, email: the thread lands in the inbox tagged by channel; a teammate replies and it goes back out on the same channel.
- Voice: the agent warm-transfers the caller to a person, and the live transcript sits in the inbox next to your chats.
- Slack: great for internal or community use — the agent escalates to the right person in-channel.
Test every action before you trust it
Don't ship an action you haven't watched work. Two places to check:
- 1The playground. Run each action against test inputs inside Supportweave — book a fake appointment, trigger a custom action, force a handoff — without touching a real customer.
- 2Live, on the surfaces that run it. Ask the website widget to book, call the voice line and do the same, then send yourself a WhatsApp (or Slack, Instagram, SMS, Messenger) message and confirm the AI runs the action there too — those are the surfaces actions fire on, so smoke-test them. For email — the human-first channel — send yourself a message and confirm the thread lands in your inbox, flagged for a human, with a copilot draft waiting. A live test per channel also catches connection issues — a webhook not subscribed, a number not linked — that have nothing to do with the action itself.
Keep every run auditable
As you turn on more actions — especially ones that touch your systems or your customers' data — the log is your safety net. Every action run is recorded: what fired, with what parameters, in which conversation, on which channel. If a booking looks wrong or a custom action misbehaves, you can trace it end to end instead of guessing. Turn actions on deliberately, watch the log for a few days, and expand from there.
Take it further
- Toggle a different action set per chatbot — let your sales agent book and capture, keep another agent answer-only
- Layer actions in one conversation: look up an order, create a ticket, then hand off — all in a single thread
- White-label the whole experience so every action reads as your brand
- Watch bookings, leads, and resolved conversations roll up in analytics as real outcomes, not message counts
Set the actions once, connect the channels once, and your agent stops being a FAQ bot: it does real work on your website, phone line, and AI-first chat channels, and email funnels into one inbox where your team finishes the job. See the full picture on the actions feature page, or book a demo and we'll configure your first action together.