Developer Documentation

Everything you need to integrate Deskwoot into your stack - embed the chat widget, or drive the platform programmatically from your backend.

Deskwoot is built API-first, so everything you can do in the dashboard is also available over HTTP. The REST API lets you create and reply to conversations, manage contacts, sync custom attributes, listen to webhook events, and pull analytics into your own BI tool. Authentication is a simple bearer token that you generate in Settings → API Tokens, with per-token scopes so you can give read-only access to a reporting job and full access to your backoffice integration.

The JavaScript Widget SDK is how you put Deskwoot live chat on your website. It's a single script tag plus a tiny config object, and it handles real-time messaging, identity pre-fill for signed-in users, proactive chat triggers, CSP hardening, file attachments, and the AI bot fallback automatically. If you want deeper control - changing colours at runtime, opening the widget from your own button, tracking page context - the SDK exposes a small JavaScript API on window.$deskwoot.

If you're just getting started, we recommend reading the Widget SDK first (most teams ship it in under 10 minutes) and then moving to the REST API once you need to sync CRM data or automate ticket creation from your own apps.

Related in the dashboard

Integration surfaces that don't have their own docs page yet live directly in your Deskwoot dashboard:

  • Settings → Webhooks - subscribe to conversation, message and contact events via HTTP callbacks
  • Settings → Integrations - one-click connectors for Shopify, Stripe, WooCommerce, Slack, Zapier and more
  • Settings → API Tokens - create scoped tokens for the REST API

Missing an integration or need help wiring something up? Reach us at hello@deskwoot.com.

Frequently asked questions

Developer questions about the Deskwoot API and webhooks.

Does Deskwoot have a REST API?

Yes. Deskwoot exposes a full REST API for conversations, contacts, messages, inboxes, teams, agents, labels, custom attributes, automation rules, and help center articles. The API powers the official mobile app and is documented at deskwoot.com/docs/api with examples in curl and JavaScript.

How do I authenticate API requests?

Generate an API token in Settings > Developer Access. Pass it as a Bearer token in the Authorization header on every request. Tokens are scoped to a workspace and can be revoked at any time without affecting other tokens.

Are there webhooks for new conversations and messages?

Yes. Deskwoot fires webhooks on conversation events (created, status changed, assigned, resolved) and message events (new inbound, new outbound, new private note). You register webhook URLs per inbox or workspace and Deskwoot signs each delivery so you can verify the source.

Can I build a custom channel with the Deskwoot API?

Yes. The REST API accepts inbound messages on any source identifier you define, so you can integrate in-app chat from a mobile app, in-game chat, IoT devices, or any custom surface. Outbound replies route through the same API and trigger your own delivery callback.

Where can I find API rate limits?

The base rate limit is 60 requests per minute per token for most endpoints, with higher limits for bulk operations. The full per-endpoint table is documented at deskwoot.com/docs/api/rate-limits. Hit a limit and the response carries a Retry-After header so your client can back off cleanly.

Is there an OpenAPI spec or Postman collection?

An OpenAPI 3 spec is published at deskwoot.com/docs/api/openapi.json and can be imported into Postman, Insomnia, or any OpenAPI-compatible tool to generate clients in any language. The spec stays in sync with the live API on every release.