Pricing
News
Blog
Docs
  • EU-based company
  • Encrypted in transit
  • Data deletion on request
  • Real human support

Footer

CapterraG2
Breezaro on SaasHubBreezaro on SaasHub

Product

  • Pricing
  • Mobile app
  • Blog

Company

  • Contact

Legal information

  • Terms of service
  • Privacy policy
  • Data processing agreement
  • Cookies
  • Withdraw from contract

© 2026 Breezaro s.r.o. · All rights reserved

← Back to blog

When a visitor asks for a human: a Slack ping and a row in a spreadsheet

Use cases5 min readPublished August 1, 2026

A worked example of Breezaro webhooks and Zapier: the moment a conversation escalates to a human, a message lands in Slack and a row lands in a Google Sheet. No server, no code, about ten minutes.

Your assistant handles most of what people ask. The interesting ones are the rest: somebody types "I want to speak to a person", the assistant escalates, and then nothing happens until one of you happens to open the inbox. On a Tuesday morning that costs you a few minutes. At eight on a Friday evening it costs you the order.

Webhooks close that gap. The moment a conversation asks for a human, Breezaro posts a signed event to any HTTPS address you name. Point that address at Zapier and the event becomes a Slack message, a text, a task, or a row in a spreadsheet. No server, no code, about ten minutes of work.

Here is that setup, start to finish.

The event you want: handover.requested

handover.requested fires the first time a conversation asks for a human, when the assistant decides it cannot help and escalates. It fires once per conversation, on that first transition, so a visitor who keeps insisting does not set it off again.

This is what Breezaro posts:

{
  "id": "evt_2b6f7e3a-9c9b-4a91-8ce1-7b6dcd6db8a2",
  "type": "handover.requested",
  "createdAt": "2026-08-01T18:42:07.114Z",
  "apiVersion": "2026-07-29",
  "data": {
    "conversation": {
      "id": "cm3qf8x3k0007jr08g6z1a2b3",
      "source": "widget"
    },
    "requestedAt": "2026-08-01T18:42:07.114Z",
    "trigger": "assistant",
    "visitorName": "Jana"
  }
}

Notice what is not in there. No message text, no email address, no phone number. The event is a pointer: conversation X wants a human, right now. You open the conversation to read what was actually said. That is deliberate, so the contents of your customers' conversations do not end up scattered across half a dozen third-party tools.

source tells you where the conversation is running: widget, whatsapp, messenger or instagram. visitorName is there only when the visitor told the assistant their name. trigger says assistant, because escalating is the assistant's decision.

Ten minutes in Zapier

1. Create the catcher. In Zapier, start a new Zap, pick Webhooks by Zapier as the trigger app and Catch Hook as the event. Zapier hands you a URL. Copy it.

2. Point Breezaro at it. In the dashboard open Webhooks under Settings, add an endpoint, paste in the URL, tick handover.requested and nothing else, and save. Fewer events means a cleaner Zap and less noise to filter out later.

3. Sample a real escalation. Leave the Zap's test step open, go to your own site, and ask the assistant for a human the way a customer would. Then hit Test trigger in Zapier and it picks up the request with every field filled in.

There is one trap here. Do not use the Send test event button for this step. It sends an endpoint.test event whose body is a one-line note with no conversation in it, which is perfect for confirming that the URL is reachable and useless as a sample to map fields from.

4. Add the actions. Zapier flattens the payload, so the conversation id shows up as something like data__conversation__id. Two actions that pay for themselves:

  • Slack. A message to your support channel: "Someone wants a human on the chat." Add a link to https://breezaro.com/dashboard/conversation?id={data__conversation__id} and whoever is free opens the right conversation in one click.
  • Google Sheets. Append a row with createdAt, data__conversation__source and the conversation id.

5. Turn the Zap on. Then watch the endpoint's Deliveries list in Breezaro for the first day. It shows the response code Zapier returned for each event, which is the quickest way to notice a Zap that is quietly rejecting things.

The spreadsheet is the half that pays off

The Slack ping is the obvious win: somebody answers while the customer is still on the page.

The spreadsheet is the half that changes the product. After a month you have a list of every moment your assistant gave up, with a time and a channel beside it. Sort it by hour and you learn when somebody actually needs to be reachable, which is rarely the hours you assumed. Open ten of those conversations and you will usually find three or four questions the assistant should have been able to answer on its own, and that is a gap in your knowledge base rather than a staffing problem. Fill it, and next month's list is shorter.

Before you rely on it

  • The same event can arrive twice. Delivery is at-least-once. For a Slack message that is a duplicate you shrug at. If your Zap does something that must not happen twice, deduplicate on the id field, which stays identical across every retry of the same event.
  • Zapier does not verify the signature. Every delivery is signed, but Catch Hook accepts anything posted to its URL and ignores the signature header. The URL is long and random, so nobody guesses it, but it is the only thing protecting the Zap: keep it out of screenshots, shared documents and public repositories. For anything sensitive, send events to your own endpoint, check the signature there, and forward on from it.
  • A dead endpoint gets switched off. Each event gets up to 8 delivery attempts over roughly 6 hours. If 20 events in a row end up failing, Breezaro disables the endpoint and tells you in the dashboard. Fix it, switch it back on, and the counter resets.
  • Deliveries are free. Sending or retrying a webhook never costs credits.
  • You need Standard or higher (a trial counts), and you can have up to 3 endpoints per assistant.

Same recipe, other events

Once the plumbing works, the rest of the catalog costs you a few clicks each:

  • conversation.started for a daily counter or a live board.
  • custom_action.executed to log every data-changing action the assistant ran against your systems.
  • message.created for a full message feed. Be careful with this one: it fires for every single message from the visitor, the assistant and your operators, so pointing it straight at a Slack channel gets noisy within the hour.

The full event catalog, the payload of each event, and how to verify the signature on your own server are in the webhooks documentation.

Related articles

Use cases2 min read

AI chatbot for WooCommerce / WordPress, how to set it up (2026)

How to put an AI chatbot on a WooCommerce store (WordPress) that answers customers from your website and products. Via crawl or a product feed, no native plugin.

June 25, 2026
Use cases2 min read

AI chatbot for small businesses, 24/7 support without hiring (2026)

How an AI chatbot helps a small business or sole trader by answering customers' common questions even when you don't have time. No developer, from the entry-level plans.

June 20, 2026
Use cases2 min read

AI chatbot for Shopify, fill the product catalog from products.json (2026)

How to fill Breezaro's product catalog from your Shopify store via the public products.json, no coding and no access keys. Where to find the catalog JSON and how to connect it.

June 19, 2026