CoPhraseCoPhrase

Actions and Integrations

What the agent does beyond replying — capturing leads, booking meetings, sending links, calling your systems, and firing webhooks.

An agent that only talks is a very expensive FAQ page. CoPhrase agents take actions: they write to your CRM, book time, hand off to a human, and call into your systems mid-conversation.

Actions are tools the model can choose to call while it is composing a reply. It decides when to use them; you decide which ones exist.

Built-in tools

ToolWhat it doesAvailability
search_knowledgeLooks something up in your knowledge base beyond what was already retrieved for the turnNow
capture_leadCreates or advances a deal: qualification fields (intent, budget, timeline), contact details, lifecycle stageNow
update_contactSets fields and tags on the contact recordNow
request_handoffFlips the conversation to human control and notifies your teamNow
book_meetingBooks time on a connected calendar and creates an appointmentRoadmap
send_mediaSends an asset from your media libraryRoadmap
web_searchSearches the live web, plus URLs you list as always-fresh; reads links the customer pastesRoadmap
Custom HTTP functionsYour own endpoints, called synchronously mid-turnRoadmap
MCP serversBring your own tools over MCP — no third-party connector middlemanRoadmap

Retries never duplicate your data

Every tool execution is journalled against the turn and the specific call. If a turn is retried after a transient failure, the tool handler recognises the replay and skips it. A deal is advanced once, not twice.

Capturing and qualifying leads

capture_lead is the sales spine. The agent asks the qualification questions you configured in the agent's playbook, and writes the answers onto a deal attached to the contact.

Two design decisions worth knowing:

  • A contact can have several deals. Someone who bought last quarter and is asking about a second product does not have their history overwritten. Each deal is advanced by an explicit key, never by "the one open deal on this contact".
  • Tags never destroy a deal. Tags can create or advance a deal. They cannot silently delete one. There is no undo button you will need, because there is nothing to undo.

Qualification accumulates on the contact regardless of channel. A lead who starts on Instagram and continues on WhatsApp is one contact with one qualification history — see inbox for how that cross-channel view works.

Booking meetings

book_meeting connects the agent to a calendar (Cal.com or Google Calendar), so a qualified lead can be booked inside the conversation rather than sent away to a scheduling page and lost. The booking becomes an appointment record linked to the contact and the conversation.

The agent can send a link as part of a reply — a checkout URL, a payment link, a plan page — as your configured conversion action or from your knowledge.

No native commerce integration yet

Today the link is something you supply: a static payment link, or a URL returned by one of your own endpoints via a custom HTTP function. CoPhrase does not yet ship a first-party Stripe or Shopify integration that mints checkout sessions or reads order data by itself. Those integrations are on the roadmap. Until then, anything commerce-shaped goes through a custom function, an MCP server, or the API.

Looking up orders and calling your systems

Order lookup, subscription status, ticket status, licence checks — anything that requires reading your system live — is done with a tool you define:

  • Custom HTTP functions — you register an endpoint with a schema. The agent calls it mid-turn, gets JSON back, and answers from it.
  • MCP servers — you connect an MCP server and choose which of its tools the agent may use. Tools are namespaced per server so two servers can expose the same tool name without colliding.

Both are gated. Untrusted text from a conversation never lands in a URL or an auth header, requests to private and internal addresses are refused, and credentials live in the encrypted vault rather than in the tool config. See security.

Updating the CRM

CoPhrase carries its own CRM spine — contacts, companies, deals, pipeline stages, tags, typed custom fields, notes, tasks — and the agent writes to it directly. That is not an integration; it is the product.

To sync that into an external CRM, use webhooks or the API. Native two-way CRM sync is roadmap.

Webhooks

Anything that happens in CoPhrase can be pushed to your systems. Webhooks fire from a durable event stream, so an event exists if and only if the thing that caused it actually committed.

EventFires when
conversation.createdA new thread opens on any channel
message.receivedAn inbound message lands
contact.createdA new contact is identified
deal.stage_changedThe agent or a human moves a deal
handoff.requestedThe agent escalates to a human
appointment.bookedA meeting is booked
credits.spentUsage is metered

Delivery properties:

  • Every payload is HMAC-signed. Verify the signature before you trust it.
  • Retries with a visible delivery log — status, attempts, response code, and the error, per delivery.
  • Auto-disable after repeated failures, and re-enabling is a deliberate act. Re-saving a dead endpoint does not silently re-arm it.
  • Only public HTTPS endpoints. Localhost and private-range targets are rejected at configuration time, not at fire time.

This is the surface Zapier, Make, and n8n plug into. For pulling data out rather than being pushed, see the API.

Next

On this page