Quincer AI Docs Home Support Start free

Connect

Integrations

Every integration gives the agent new tools. Not just a notification channel, but actual capabilities — create a deal, book a meeting, enrich a contact, post to Slack. This page walks through each one.

Plan slots

PlanIntegration slots
Free0
Starter1
Growth3
ScaleUnlimited

Apollo.io and ZoomInfo are Growth+. All others are Starter+.

Page layout

The Integrations page is split into five top-level tabs. The first is the visual rail of your connected integrations; the rest are the developer- facing surfaces that used to live under Developer APIs.

TabWhat it is
IntegrationsConnect / configure off-the-shelf integrations (HubSpot, Slack, Gmail, Calendly, Meta, etc.). Each one lives as a row in the left rail with a status dot; clicking opens a detail pane with Overview, Tools, Account, Activity, and Settings tabs.
Custom RESTPoint the AI at any HTTP endpoint you own. See below. Scale plan + Custom Tools add-on required.
WebhooksSubscribe an HTTPS endpoint to Quincer events (new conversations, leads, tool calls). Signed payloads. Moved here from the old Developer APIs page.
API keysProgrammatic access tokens for the Quincer AI REST API. Scope each key to the minimum it needs. Moved here from the old Developer APIs page.
MCP serversConnect any remote MCP (Model Context Protocol) server — your own, or a vendor’s hosted server (Jira, GitHub, etc.). Quincer imports the tools it exposes and your AI personas can call them; toggle which tools are enabled per server. See below.

Each tab is URL-driven (?view=custom, ?view=webhooks, etc.), so deep-links and browser back/forward work the way you'd expect.

Custom REST

Scale + Custom Tools add-on

Custom REST lets the AI call any HTTP endpoint you control. The model sees the tool by name and description; when it decides the conversation needs that action it invokes the endpoint with the inputs you've defined, and you've got per-call logging + rate limiting + SSRF guardrails for free.

i

Full guide: Custom REST tools — the seven fields, the Create with AI builder, placeholders, and worked examples (create a persona, query Postgres, open a Jira ticket).

Use it for anything you can hit over HTTP: an internal CRM, an inventory lookup, an order-tracking service, a custom enrichment vendor, a Zapier webhook, a self-hosted endpoint behind a token. Anything.

Anatomy of a custom tool

Each tool is a row in the dashboard with these fields:

FieldWhat it does
NameModel-facing function name. Lowercase, underscores, max 64 chars. Examples: track_shipment, check_inventory, look_up_warranty.
DescriptionWhat the model reads to decide WHEN to call this tool. Be specific. "Look up a shipment by tracking number. Returns the latest status, location, and ETA."
Method + EndpointThe HTTP method (GET / POST / PUT / PATCH / DELETE) and the absolute URL. Must use https:// in production. Private IPs (127.0.0.1, 10.x, 192.168.x, AWS metadata 169.254.169.254) are blocked by the SSRF guard.
Input schemaJSONSchema describing the arguments the model will produce. Example: { "type": "object", "properties": { "tracking_id": { "type": "string", "description": "Carrier tracking number" } }, "required": ["tracking_id"] }
HeadersJSON object of static headers — Authorization, custom keys, anything. Use template placeholders (below) for per-call values.
Body templateFor POST/PUT/PATCH only. JSON object that's rendered with input + identity placeholders before the call.
Response JSONPathOptional. A dotted path like data.shipment.status that narrows the response so you don't leak unrelated data back to the model.
Timeout (ms)Per-call timeout. Default 10000, max 30000.
Visitor authIf enabled, the tool only runs when the chat session has a verified visitor token. The verified claims can be injected into the request (next section). Without it the model gets auth-required and tells the visitor to sign in.

Template placeholders

Three substitution patterns work in headers, body template, and endpoint URL:

Substitution is deep: a body template like { "user": { "id": "{{identity.sub}}" } } works. Missing values resolve to empty string, except when a tool marks required claims (in which case the call is refused before any HTTP fires).

Claim injection: the model can't lie about who's asking

On a tool with Visitor auth enabled, you can map verified-identity claims directly into input fields. Example: a get_my_orders tool with claims_to_inject: { "user_email": "email" } will overwrite whatever the model put in input.user_email with the verified email claim. The model can't spoof who it's looking up; the backend always sees the real signed-in user.

Walking through a real example

Tool: track_shipment

When a visitor asks "where's my order?", the model collects the tracking number, calls track_shipment({tracking_id: "1Z…"}), which becomes GET https://shipping.example.com/api/v1/track/1Z…, and the bot summarizes the data.status field back to the visitor.

Auditing

Every tool call writes a row to CustomToolCallLog: the sanitized request (rendered secrets are not persisted), response status, response size, latency, error, and the visitor identity at call time. Rows are kept for 30 days then purged. Logs are exportable from the tool's row in the Custom REST tab.

MCP servers

Bring your own server

MCP (Model Context Protocol) is an open standard for exposing tools to AI agents. If a service you use — Jira, GitHub, an internal system, anything — runs a remote MCP server, you can plug it straight into Quincer and your personas pick up its tools, even when we don’t have a built-in integration for it.

Connect a server

Open Integrations → MCP servers (?view=mcp) and click Add MCP server:

  1. Name — how it shows up in your dashboard (e.g. “Jira”).
  2. Server URL — the remote MCP endpoint (Streamable HTTP). Must be a public https:// URL.
  3. Access token / API key — optional. Sent as Authorization: Bearer <token> by default; set the Auth header field (e.g. X-API-Key) to send the raw token instead. Leave blank for an open server.

On save, Quincer connects to the server, lists the tools it exposes, and enables them all by default. Untick any tool you don’t want your agents to call, hit Refresh to re-pull the list after the server changes what it offers, or Disconnect to remove it. Connect as many servers as you need — each one’s tools flow to your personas alongside the built-in integrations.

i

Security: every request to your MCP server is DNS-resolved and blocked from reaching private or internal addresses, and cross-host redirects are refused — so a server URL can’t be used to probe internal infrastructure. Your token is stored encrypted.

HubSpot

CRM · Starter+

Sync every conversation as a contact and a deal. Log messages as conversation records, create follow-up tasks, and track the full lifecycle in HubSpot.

Connect

  1. Open Integrations, click Connect next to HubSpot.
  2. Sign in to HubSpot and authorize the Quincer AI app. Required scopes: CRM objects read/write, conversations read/write, tasks read/write.
  3. Pick the pipeline and deal stage for new Quincer AI deals. You can change this later.
  4. Done. Every new conversation auto-creates a HubSpot contact (deduped by email) and associates it with a deal.

Tools the agent gets

Pipeline CRM

CRM · Starter+

Full parity with HubSpot against an agency-focused CRM — contacts, opportunities (deals), appointments, conversations, and support tickets. Install is one click from the CRM marketplace; agency-level installs pick a single sub-account to wire to this widget (connect a second widget if you need another sub-account).

Connect

  1. Open Integrations, click Connect next to Pipeline CRM (or install from the CRM marketplace).
  2. Sign in and choose the sub-account. Location-level installs skip the picker.
  3. Authorize the requested scopes (contacts, opportunities, appointments, conversations, businesses, users).
  4. Done. Every new conversation can create contacts and opportunities in this sub-account, and changes in the CRM flow back into Quincer AI leads via webhooks.

Tools the agent gets

Webhook events synced back

Slack

Team messaging · Starter+

Escalate questions to your team in real time, post summaries, and DM specific reps when a Hot lead lands.

Connect

  1. In Integrations, click Connect next to Slack.
  2. Authorize the app in your Slack workspace. Pick the default channel (e.g. #sales-alerts).
  3. Optional: map personas to different channels under Slack → Routing.

One-click install: Add to Slack — starts OAuth with the correct state/CSRF token set for your Quincer AI session, then comes back attached to your org. (If you click the raw slack.com install URL, the callback rejects with missing_state because there’s no Quincer AI session tied to the install.)

Recommended channel setup

Most teams end up with three purpose-built channels so signals don't drown each other out. Create these in Slack and invite the Quincer AI bot to each (/invite @Quincer AI):

Why three channels? Mixing escalations with new-conversation pings trains your team to ignore the channel — and that's the one channel where ignoring a message costs you a deal.

Tools the agent gets

Live takeover from Slack

Slack is an escalation surface, not a mirror of every conversation. Messages only appear in your channel when the AI calls slack_escalate_question — i.e., a visitor asks for a human or the AI can't answer. Conversations driven from the Quincer AI portal don't post here.

When an escalation lands, the message has Take over and Open in Quincer AI buttons. After clicking Take over the buttons change to:

During takeover, visitor follow-ups appear in the thread as 💬 {visitor}: {message} so you can see the whole conversation, not just the first escalated question.

Interactivity, slash commands, and event subscriptions are all pre-configured in Quincer AI's Slack app — there is nothing to wire up on your side. Once you click Connect Slack and approve the OAuth prompt, Take over, Hand back, and /quincer all work immediately.

Commands in Slack

Type these in any channel the bot is in — or DM the Quincer AI bot with the same terms (skip the leading /quincer):

Proactive notifications (per-persona)

Under Personas → [Persona] → Slack configuration you can opt each persona into:

Both are off by default — turn them on only for personas where proactive visibility is worth the channel noise.

Telegram

Team messaging · Starter+

Run escalations through a Telegram group. Tap Take over on any escalation to go live with the visitor — perfect for teams that already live in Telegram.

Connect

  1. Message @BotFather on Telegram, run /newbot, and save the bot token it gives you.
  2. Run /setprivacy in BotFather and choose Disable so the bot can read replies to its messages in group chats.
  3. Add the new bot to the Telegram group you want to use for escalations.
  4. In Quincer AI, open Integrations → Telegram, paste the bot token, and click Test & Connect.
  5. Set the group chat ID per persona under Personas → [Persona] → Telegram Config. The easiest way to grab the ID: send a test message in the group, then check /api/integrations/telegram/webhook/... logs — or use a bot like @getidsbot.

Tools the agent gets

Live takeover from Telegram

Telegram is an escalation surface, not a mirror of every conversation. Messages only appear in your group when the AI calls telegram_escalate_question — i.e., a visitor asks for a human or the AI can't answer. Conversations driven from the Quincer AI portal don't post here.

When an escalation lands, the message has 🎧 Take over and Open in Quincer AI buttons. Tap Take over and reply to the escalation message (or the “X is now live” confirmation posted right below it — either anchor works) — every reply goes straight to the visitor as you.

During takeover, the inline keyboard shows:

Visitor follow-ups appear in the group threaded under the escalation as 💬 {visitor}: {message}, so you see the whole conversation.

Microsoft Teams

Team messaging · Starter+

Escalate questions to a Teams channel, DM specific teammates when a Hot lead lands, sync conversation summaries, and take over live chats from Teams — the same workflow as Slack, built on the Microsoft Teams bot.

Connect

Teams isn’t a one-click OAuth like Slack — your Teams admin installs the Quincer AI app, then you link it with a one-time code:

  1. In Integrations, click Connect next to Microsoft Teams. A dialog shows a Download Quincer AI Teams app button and a 6-character linking code (valid 30 minutes). The same package is always available at /teams-app/quincer-teams-app.zip.
  2. Your Teams admin uploads the downloaded zip: Microsoft Teams admin center → Manage apps → Upload custom app (or via the Teams app store once we publish it there). Then add the Quincer AI bot to the team and channel you’ll use for escalations.
  3. In that channel, type @Quincer AI and pick it from the autocomplete popup so it highlights, then add the code: @Quincer AI connect <CODE>. The bot replies “Connected to Quincer AI” and the integration goes live. Posting the code from a channel (not a private chat) is what lets Quincer load your team’s channels into the persona pickers automatically — Teams only delivers a channel message to a bot when it’s @mentioned.
  4. Pick your escalation channel, live channel, and DM recipients under Personas → [Persona] → Microsoft Teams configuration.

Tools the agent gets

Live takeover from Teams

Like Slack, Teams is an escalation surface — messages appear only when the AI escalates (a visitor asks for a human or the AI can't answer). Each escalation card has Take over and Open in Quincer AI buttons. Tap Take over and every message you post in that thread goes straight to the visitor; the AI stops driving until you hand back. Visitor follow-ups appear in the thread as 💬 {visitor}: {message}.

You can also @mention the bot or DM it with leads, lead <email>, or stats to query your pipeline, and react to an escalation card to mark its follow-up task done.

Proactive notifications (per-persona)

Under Personas → [Persona] → Microsoft Teams configuration you can opt each persona into:

OpenClaw

External AI assistant · All plans

Give an OpenClaw agent a first-class seat in your Quincer AI inbox. It can take over live chats, reply as a human, look up leads, and log activity through the Quincer AI API — with its own team-member identity and audit trail, not as an anonymous bot.

Connect

  1. In Integrations → OpenClaw, click Connect OpenClaw. This creates a dedicated “OpenClaw” team member in your workspace and issues an API token bound to it.
  2. Download SKILL.md and drop it in ~/.openclaw/workspace/skills/quincer/.
  3. Add the token to ~/.openclaw/openclaw.json under skills.entries.quincer.env.QUINCER_API_KEY.
  4. Restart the OpenClaw gateway. The quincer tool is now available.

What OpenClaw can do

For the full API surface (takeover, reply, handback, webhook events), see API & webhooks → External agents.

Perplexity Computer

External AI assistant · All plans

Manage leads and live chats from inside Perplexity Computer using plain English. Ask “show me my hot leads” or “take over the chat on my pricing page” and Perplexity calls the Quincer AI API on your behalf, attributed to its own team-member identity in your inbox.

Connect

  1. In Integrations → Perplexity Computer, click Connect Perplexity Computer. This creates a dedicated “Perplexity Computer” team member in your workspace and issues an API token bound to it. The token is shown once — copy it.
  2. Download SKILL.md and upload it to Perplexity Computer under Skills → Add Skill.
  3. When Perplexity prompts for the QUINCER_API_KEY environment variable, paste the token from step 1.
  4. Try asking: “Show me my hot leads from today.”

What Perplexity Computer can do

Real-time: point a conversation.message_received webhook at your Perplexity Computer endpoint (Developers → Webhooks) if you want Perplexity to react to new visitor messages without polling.

Calendly

Scheduling · Starter+

Let qualified leads book directly inside the chat. Quincer AI lists available times, and a one-click link closes the booking without leaving the widget.

Connect

  1. In Integrations, click Connect next to Calendly.
  2. Sign in with your Calendly account and approve access.
  3. Choose which event type is offered by default (e.g. Discovery Call, 30 min). You can override per persona.

Tools the agent gets

Google Calendar

Scheduling · Starter+

An alternative to Calendly for teams that prefer to book directly on the rep's Google Calendar. Attendees receive standard calendar invites.

Connect

  1. In Integrations, click Connect next to Google Calendar.
  2. Sign in to the Google account that owns the calendar reps use. Approve free/busy read and event creation.

Tools the agent gets

Gmail

Email · Starter+

Send follow-up emails from your own Gmail address. Supports draft-for-review mode so you can edit before sending.

Connect

  1. In Integrations, click Connect next to Gmail.
  2. Sign in with Google and approve send + draft scopes.
  3. Pick which sender address to use (if you have aliases).

Tools the agent gets

Microsoft 365

Email & calendar · Starter+

Outlook email and Microsoft calendar combined. Meetings include Teams links by default.

Connect

  1. In Integrations, click Connect next to Microsoft 365.
  2. Sign in with your work Microsoft account. Approve Mail.Send, Calendars.ReadWrite, OnlineMeetings.ReadWrite.

Tools the agent gets

Email inbox monitoring

Automation · Scale+

Point a persona at a Gmail or Microsoft 365 inbox and Quincer AI will watch it for new messages, read the thread, search the persona’s knowledge base, and either auto-reply or save a draft for your review — using the same tools, personas, and KB the chat widget uses. Perfect for info@, sales@, support@ aliases you want the AI to triage first.

How it works

  1. Connect a Gmail or Microsoft 365 integration (see sections above). The persona authors the follow-ups under that connected mailbox, so replies land in the right sender’s Sent folder and thread correctly.
  2. Open Personas → [Persona] → Email inbox and toggle monitoring on for that persona. Choose auto-send or draft-for-review mode.
  3. A background cron polls the inbox every few minutes, matches each new message to a Lead (by email), runs the same persona flow Quincer AI uses for chats, and produces a reply. Quincer AI threads correctly via In-Reply-To / References headers so the exchange stays tidy in the inbox.

What the agent can do per email

!

Scale plan only. Monitoring is off by default on every persona, even after Scale is active — you pick which personas watch which inbox. Disable monitoring to pause without disconnecting the Gmail / MS 365 integration.

Apollo.io

Lead enrichment · Growth+

Enrich leads on the fly. If a visitor gives you an email, Apollo fills in job title, company, employee count, tech stack, and LinkedIn URL. All in under a second.

Connect

  1. Get your Apollo.io API key from Settings → Integrations → API Keys in Apollo.
  2. In Quincer AI's Integrations, click Connect next to Apollo.io and paste the key.

Tools the agent gets

ZoomInfo

Enterprise enrichment · Growth+

Enterprise-grade enrichment plus buying intent signals. Identify companies actively researching your category even before they reach out.

Connect

  1. Generate a ZoomInfo PKI key (or have your admin provide username + password auth).
  2. In Integrations, click Connect next to ZoomInfo. Choose auth method and enter credentials.

Tools the agent gets

Managing connections

From Integrations, each connected service has a menu for: Reconnect (refresh OAuth), Test (run a health check), Logs (recent tool calls and responses), and Disconnect (revoke and delete tokens).

!

Disconnecting an integration immediately removes the corresponding tools from every persona. Any in-flight conversation mid-tool-call will gracefully fall back to a “can't do that right now” response.