Loading repository data…
Loading repository data…
Deskwoot / repository
Official JavaScript/TypeScript client for the Deskwoot customer support platform. AI chatbot, multi-channel inbox, Shopify & WooCommerce integration.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Official JavaScript/TypeScript client for the Deskwoot API.
Deskwoot is an AI-powered customer support platform with a multi-channel inbox (email, live chat, WhatsApp, Telegram, Instagram, Facebook, X, LINE, SMS), AI chatbot, AI copilot, help center, automation engine, and integrations with Shopify, Stripe, WooCommerce, and more. This package is the API client for building custom integrations on top of Deskwoot.
Not sure what Deskwoot is? Check out deskwoot.com to see the full platform.
npm install deskwoot
import { Deskwoot } from "deskwoot";
const client = new Deskwoot({
apiToken: "your-api-token",
accountId: "your-account-id",
});
// List open conversations
const conversations = await client.listConversations({ status: "OPEN" });
// Send a message
await client.sendMessage(conversations[0].id, {
content: "Thanks for reaching out! We'll look into this.",
});
// Create a contact
const contact = await client.createContact({
name: "Jane Doe",
email: "jane@example.com",
company: "Acme Inc",
});
| Resource | Methods |
|---|---|
| Conversations | list, get, create, update, bulk actions |
| Messages | list, send (text/html, private notes, cc/bcc) |
| Contacts | list, get, create, update, delete, merge |
| Inboxes | list, get, create, update, delete |
| Labels | list, create, update, delete, add/remove from conversations |
| Teams | list, create, update, delete, add/remove members |
| Agents | list, invite, update, remove |
| Canned Responses | list, create, update, delete |
| Automation Rules | list, create, update, delete |
| Webhooks | list, create, update, delete |
Generate an API token in your Deskwoot dashboard under Settings > API Tokens.
const client = new Deskwoot({
apiToken: "your-api-token",
accountId: "your-account-id",
baseUrl: "https://deskwoot.com", // optional, defaults to https://deskwoot.com
});
import { Deskwoot, DeskwootError } from "deskwoot";
try {
await client.getConversation("invalid-id");
} catch (err) {
if (err instanceof DeskwootError) {
console.log(err.status); // 404
console.log(err.message); // "Not found"
}
}
const conversations = await client.listConversations({
inboxId: "inbox-id",
status: "OPEN",
page: 1,
pageSize: 25,
});
await client.updateConversation("conversation-id", {
status: "RESOLVED",
});
await client.bulkConversationAction({
action: "assign_agent",
conversationIds: ["conv-1", "conv-2", "conv-3"],
value: "agent-id",
});
const contacts = await client.listContacts({
search: "jane@example.com",
});
await client.createWebhook({
url: "https://your-app.com/webhooks/deskwoot",
events: ["conversation.created", "message.created"],
});
MIT