GoodReply Chat API

Reply to every chat on the internet, in your voice

One key. One call. Wherever people talk to you, GoodReply answers like a real person on your team and saves them as a lead in your pipeline.

What happens on every message

A chat comes in

Someone writes on your site, WhatsApp, Instagram, your help desk or your own bot.

GoodReply reads it

It reads the message and everything said before in the same chat.

It checks your profile

Your company, what you sell, who you sell to and how you talk.

It drafts the reply

Short, clear and based on your company profile.

Want the website chatbot, not API details?

Start with the guided Connect GoodReply flow. It explains the widget, lead capture and live test before showing technical controls.

See the chatbot feature

Getting started

  1. 1Create your GoodReply account and fill in your company profile. That profile is what the replies are built from.
  2. 2Open Connect GoodReply in your dashboard and ask for API access. Our team switches it on for your account.
  3. 3Create a key. It is shown once, so copy it straight away and keep it on your server.
  4. 4Send every incoming message to the endpoint below and post the reply back to the person.
POST
https://www.goodreply.in/api/public/chat

Send your key as Authorization: Bearer gr_live_.... Works from any language, any server, any platform.

Try it with cURL

cURL
curl -X POST https://www.goodreply.in/api/public/chat \
  -H "Authorization: Bearer gr_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Hi, do you work with logistics companies?",
    "channel": "website",
    "conversationId": "visitor-8421",
    "visitor": { "name": "Ana", "email": "ana@acme.com" }
  }'

Use it in your app

JavaScript
const res = await fetch("https://www.goodreply.in/api/public/chat", {
  method: "POST",
  headers: {
    "Authorization": "Bearer gr_live_your_key",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    message: incomingText,      // whatever the person just wrote
    channel: "whatsapp",        // website, whatsapp, instagram, helpdesk...
    conversationId: chatId,     // same id keeps the memory of the chat
    visitor: { name, email, phone },
  }),
});

const { reply, conversationId, leadCaptured } = await res.json();
sendBackToUser(reply);

What you get back

Response
{
  "reply": "Yes, we work with logistics teams every week...",
  "conversationId": "visitor-8421",
  "leadCaptured": true
}

What you can send

FieldNeededWhat it does
messageYesWhat the person just wrote. Up to 4000 characters.
conversationIdNoYour own id for the chat. Send the same one to keep the memory going.
channelNoWhere it came from: website, whatsapp, instagram, helpdesk, anything you like.
visitor.nameNoTheir name, saved on the lead.
visitor.emailNoTheir email, saved on the lead so your team can follow up.
visitor.phoneNoTheir phone number.
visitor.companyNoTheir company.

When something is wrong

CodeMeaning
401Your key is missing, wrong or no longer active.
403This website is not on the allowed list for that key.
400No message was sent, or it was too long.
429You have used all your replies for this month, or sent too many at once.
502The assistant could not answer right now. Try again.

What you get each month

Every reply the API sends is counted. Unlimited replies come with the Enterprise plan. Smaller plans get an allowance so you can build and test first. When it runs out the API answers with a friendly 429 and you can buy more replies from your dashboard, 5,000 extra replies for $19.

PlanReplies included every month
Light100
Pro500
Premium1,000
Business5,000
EnterpriseUnlimited, fair usage

Keys are yours

Create up to ten, revoke any of them the second you want to.

Lock it to your sites

Allow only your own domains to use a key.

Every chat is saved

Read the full history in your dashboard and turn chats into leads.

Ready to let GoodReply answer for you?

Create your account, fill in your company profile and ask for API access. We switch it on and you are live the same day.

Get your key