Live chat API

A live chat API lets your own code read your chats and reply to them. Deacon is the AI support chat on your site, and its API also keeps what Deacon knows up to date, so your release script can teach it what you just shipped.

On every plan, including the free one.

Sped up. Acme and its docs are made up for this example.

Support shows up where you already work

  • Deacon stops falling behind your product

    Every release can update what it knows, with nobody having to remember.

  • You see support in your own tools

    Put it in your admin panel or your team’s channel.

  • You can answer from anywhere

    A reply from your code lands in the customer’s chat under your name.

At a glance

What it readsYour chats, what Deacon knows, the questions waiting for you, topics, your site’s JavaScript errors and the last 30 days of events.
What it changesAdd text or a page, re-fetch a page, change your help document, reply to a customer and hand a chat back.
What it won’t doTake a question and give you Deacon’s answer, change your Instructions, or read visits, goals and funnels.
Where you startMake a key on Integrations. Only an owner can.

Thirteen jobs your code can take off you

Each one is a few lines of code.

Stay current

  • Re-read your docs on every release

    Your deploy script re-fetches the pages you changed. They go live once read and spend none of the month’s pages. Once a day per page.

    POST /knowledge/{id}/refetch

  • Teach Deacon each new feature

    Your release script adds a section to the help document, and it’s live once read, with no retraining.

    POST /help-document/sections

  • Keep policy answers in your repo

    When your refund policy changes in code, your build updates the section Deacon answers from.

    PUT /help-document/sections/{id}

  • Hear when a page can’t be read

    A nightly script re-fetches each page, then checks for a problem and tells you. It spends none of the month’s pages.

    POST /knowledge/{id}/refetchGET /knowledge

Your own tools

  • Send yourself a Monday digest

    Deacon has no digest email, so a scheduled script sends What needs you and your top topics to your team.

    GET /needs-youGET /topics

  • Show a customer’s chats on their account page

    Your admin looks them up by email, so you know what they asked before you answer their invoice query.

    GET /conversations

  • Put support numbers on your own dashboard

    How many asked and how many are still unanswered, topic by topic.

    GET /topics

  • Catch up after downtime

    Your tool reads what it missed from the last 30 days, the same events a webhook would have sent.

    GET /events

Reply anywhere

  • Tell people it’s fixed

    When you ship, a script replies to everyone who reported it. It appears in their chat under your name, and if they left an email, it reaches their inbox too.

    POST /conversations/{id}/replies

  • Answer from your own tool

    A Slack bot or admin page can send your reply, then hand the chat back to Deacon.

    POST /conversations/{id}/repliesPOST /conversations/{id}/hand-back

On your own pages

No key needed. These run in the browser, in your site’s own code.

  • Open the chat from your own Help button

    Hide Deacon’s button and call Deacon.open() from yours. Deacon.close() and Deacon.toggle() work too.

    Deacon.open()

  • Pass the name and email of whoever’s logged in

    Set their id, email and name, so you see who’s asking and their email is already filled in when they need you.

    window.deaconUser

  • Pass their plan

    Send details such as their plan or role, and Deacon takes them into account when it answers.

    Deacon.setContext

Make a key and make your first call

  1. Make a key

    On Integrations, choose what it can do.

  2. Read the docs

    The API docs have every route, with examples.

  3. Call it

    Here’s a release script re-reading one page.

Terminal
curl -X POST https://heydeacon.com/api/v1/knowledge/t7dkqm3p/refetch \
  -H "Authorization: Bearer $DEACON_API_KEY"

Pair it with webhooks, your agent or a CSV

  • Webhooks

    Hear as soon as something happens, instead of asking every few minutes.

    visitor.left_email

  • MCP server

    Your coding agent reads the same chats from your terminal.

    search_conversations

  • Chat transcripts

    Need a copy without writing code? Export a CSV from Conversations.

    Chat ID, Time, From, Message, Page

Make a key and try it

Add Deacon to your site, make a key on Integrations and call the API from your terminal. You get 50 answers a month on the free plan, and it needs no card.

What to look for in a live chat API

These hold whichever chat tool you’re looking at.

Reading is the easy part

Most APIs let you list chats. Check whether yours can also add to what the bot knows, since that’s what keeps its answers right.

A reply should do what your own reply does

If a reply from your code doesn’t take the chat over or reach the customer the same way, you’ve got two kinds of reply to explain.

Failed calls should say why

A refusal you can read and branch on saves you an afternoon. Try one with a bad id before you commit.

FAQ

Questions about the live chat API

No. The API works with your chats and what Deacon knows, and Deacon only answers in the chat on your site. If you’re building your own chatbot, this isn’t the tool for that.

Yes, as whoever made the key. It takes the chat over, as a reply from the dashboard does, until you hand it back.

Yes. A change made through the API does what the dashboard does, with the same plan limits.

Your team’s keys can make 300 calls a minute between them, and a key made for a coding agent up to 60. We add new things as we go. If anything ever has to be renamed or removed, the old version keeps working for at least six months, and every owner gets an email first.

A Read key can see the email they left and look chats up by email. So keep that key out of anything public.

Let your scripts do the remembering

It takes about five minutes to install. The free plan is 50 answers a month, for as long as you like.