Skip to main content
Search

Send handoffs to your CRM

When the assistant hands a conversation to your team, send the contact and the conversation to Kommo, Bitrix24, HubSpot, Pipedrive or another CRM through Make, n8n or Zapier.

When the AI assistant hands a conversation to people, it is usually a lead or a problem worth tracking. This recipe sends the customer's contact and the conversation to your CRM at that moment, through Make, n8n or Zapier, without code. It uses a webhook (see Webhooks) and the rule your platform already has, Handoff to a team → notify the team (see Automation rules).

1. Get an address that receives the data

Create a scenario or workflow that starts with a webhook and copy its address:

  • Make: a new scenario, module Webhooks > Custom webhook, Add, copy the address. Webhooks work on the free plan.
  • n8n: a new workflow, node Webhook, method POST, copy the Production URL and activate the workflow.
  • Zapier: a new Zap, trigger Webhooks by Zapier > Catch Hook, copy the address. Webhooks by Zapier is a premium app and needs a paid Zapier plan.

2. Add the webhook in the panel

In the panel, Admin > Webhooks > New webhook: give it a name such as CRM, paste the address and set a secret. The panel asks for at least one event: tick conversation.assigned, then save. The webhook will also send that event, so step 4 starts with a filter.

3. Send it on every handoff

Open Admin > Automations, tab Conversation update, rule Handoff to a team → notify the team. Add the action Trigger webhook, pick the CRM webhook and type an event name, for example handoff.to_team. Save the rule.

The rule runs when a conversation moves to a team: when the assistant hands it over, and also when an agent moves it to another team. Then your scenario receives one request.

Before you map fields, send one real handoff: write to your chat and ask for a person. Make and Zapier learn the fields from the first request they receive.

4. Create the lead in your CRM

First let only handoffs through: right after the webhook add a filter that continues when event equals handoff.to_team (in Make a filter on the route, in n8n an If node, in Zapier Filter by Zapier). Then add the CRM step and fill it from the request:

CRM field Take from the request
Name payload.conversation.contact.first_name and last_name
Email payload.conversation.contact.email
Phone payload.conversation.contact.phone_number
Title or subject payload.conversation.subject, empty in chats; Conversation # with reference_number reads better
Note or description payload.conversation.last_message: the last message in the conversation
Source payload.conversation.inbox_name, for example the name of your website chat or Telegram bot
Link https:// + your support address + /inboxes/all/conversation/ + payload.conversation.uuid

Ready modules for the CRM step:

  • Kommo: create a lead with a contact.
  • Bitrix24: add a lead.
  • HubSpot: create or update a contact, then a deal or a ticket.
  • Pipedrive: create a person, then a lead.

The link opens the conversation for agents who may see all conversations, such as admins.

What the request contains

{
  "event": "handoff.to_team",
  "timestamp": "2026-10-09T15:20:11Z",
  "payload": {
    "actor_id": 3,
    "conversation": {
      "uuid": "6b0d8b1e-5b1f-4a53-9f8e-0c9d3a1d2e44",
      "reference_number": "1423",
      "subject": "",
      "inbox_name": "Website chat",
      "assigned_team_id": 1,
      "last_message": "Can someone call me about the Basic plan?",
      "contact": {
        "first_name": "Maria", "last_name": "Rossi",
        "email": "maria@example.com", "phone_number": "+3725550000"
      }
    }
  }
}

The conversation object has more fields than shown here, the same as in other webhook events.

Good to know

  • The request carries the last message, not a summary of the whole conversation. To read the conversation, follow the link; in the panel, agents can ask the AI for a summary (see AI helpers for agents).
  • Every request is signed with your secret in the X-Support-Signature header. n8n and Make can check it (see Webhooks). In Zapier keep the hook address private: it is the key to your scenario.
  • A request that fails is not repeated. If your scenario was off, those handoffs did not reach the CRM.
Was this article helpful?