Developers

Simple to embed.
Powerful to extend.

One script tag to embed. A REST API to query. Webhooks to connect to anything. Follwup is designed to fit into the stack you already have.

All plans

Widget embed

One script tag. Works on any website. No framework required.

Pro+

REST API

Query your chatbot from your backend, app, or custom interface.

All plans

Webhooks

Receive real-time events when leads are captured, questions go unanswered, and more.

Widget embed

All plans

One line of code.
Any website.

Add the widget to your site with a single script tag. Works with WordPress, Shopify, Webflow, Framer, Next.js, or raw HTML. No framework dependencies.

Async load, no impact on Core Web Vitals
Position: bottom-left or bottom-right
Mobile responsive out of the box
HTML
<!-- Add to your site's <head> or before </body> -->
<script
  src="https://cdn.follwup.app/widget.js"
  data-chatbot-id="YOUR_CHATBOT_ID"
  defer
></script>

REST API · Pro+

Query your chatbot from anywhere

Use the API to embed Follwup in your own app, mobile interface, or backend pipeline, without the widget.

Request

cURL
curl -X POST https://api.follwup.app/v1/chat \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "chatbot_id": "YOUR_CHATBOT_ID",
    "message": "What is your return policy?",
    "session_id": "user-session-abc123"
  }'

Response

JSON
{
  "id": "msg_01abc123",
  "chatbot_id": "YOUR_CHATBOT_ID",
  "message": "Our return policy allows...",
  "session_id": "user-session-abc123",
  "sources": ["returns-policy.pdf"],
  "created_at": "2025-01-20T10:30:00Z"
}

Authentication

Bearer token in Authorization header. Find your key under Settings → API.

Session IDs

Pass a consistent session_id per user to maintain conversation context across multiple messages.

Rate limits

Pro: 500 req/min. Business: 2,000 req/min. Higher limits available on request.

Webhooks

All plans

Fire events to
any endpoint.

Follwup sends a POST request to your endpoint whenever key events occur. Connect to your CRM, Zapier, n8n, or any custom backend.

conversation.started
lead.captured
question.unanswered
message.created
JSON payload
{
  "event": "lead.captured",
  "chatbot_id": "YOUR_CHATBOT_ID",
  "timestamp": "2025-01-20T10:31:00Z",
  "data": {
    "lead": {
      "name": "Jane Smith",
      "email": "jane@example.com"
    },
    "session_id": "user-session-abc123",
    "source_url": "https://yoursite.com/pricing"
  }
}

Developer FAQ

API access on Pro+

Ready to integrate?

Start with the free embed. Upgrade when you need the API.