๐ŸŽ‰ Free 14-day trial ย ยทย  No credit card required
nDesk

Integrations

It fits the stack you already have

No migration, no rip-and-replace. The assistant reads from the tools where your answers already live, and writes what it learns back to the systems your team works in.

Helpdesks

Keep your existing inbox, macros and SLAs. The assistant works the queue alongside your team rather than replacing the tool they know.

  • Zendesk

    Two-way ticket sync

    Available

    Reads your Help Center articles for answers and creates a ticket the moment a conversation escalates โ€” with the transcript, the requester and your tags already attached. Agent replies in Zendesk appear in the chat, so the customer never has to move.

  • Intercom

    Inbox and macros

    Available

    Imports your existing articles and saved replies, so the assistant answers in the wording your team already approved. Escalations land in your Intercom inbox as a normal conversation, assigned by your rules.

  • Help Scout

    Mailbox and docs

    In beta

    Pulls answers from your Docs site and hands unresolved threads to the right mailbox. Customer history comes along, so the agent opens a conversation already knowing what was tried.

  • Freshdesk

    Ticket creation

    On the roadmap

    Creates and updates tickets on escalation, and mirrors status changes back into the conversation so the customer sees when their issue is resolved.

CRM

Every conversation ends up on the right record. Nobody pastes a transcript into a note field again.

  • HubSpot

    Contacts and timeline

    Available

    Matches the chatter to an existing contact by email, or creates one, and logs the full transcript to their timeline. Lifecycle stage and plan come back the other way, so the assistant knows whether it is talking to a trialist or a five-year customer.

  • Salesforce

    Cases and accounts

    Available

    Writes conversations against the Account and opens a Case on escalation, mapped to your own fields. Support and sales end up reading the same record instead of two versions of the story.

  • Pipedrive

    Deals and notes

    In beta

    Attaches qualifying conversations to the open deal and creates one when the assistant spots buying intent it can evidence.

Commerce

The questions that make up most of a store's volume โ€” where is it, can I return it, does it come in blue โ€” answered from live order data rather than a guess.

  • Shopify

    Live order lookups

    Available

    Looks up order status, tracking, and return eligibility against the real order once the customer is verified, and can start a return within the rules you set. Product and inventory data feed sizing and availability answers.

  • WooCommerce

    Orders and returns

    In beta

    Same order-status and return handling for WordPress stores, over the WooCommerce REST API with a read-scoped key.

  • Stripe

    Billing context

    In beta

    Reads subscription and invoice state so billing questions get a real answer, and flags failed payments for a person rather than attempting them itself.

Where your team already works

Handoffs should arrive where people are, not in a tool they have to remember to check.

  • Slack

    Handoff notifications

    Available

    Pushes escalations into the channel you choose, summarised, with a link to reply in thread. Answer from Slack and it reaches the customer in the chat.

  • Microsoft Teams

    Handoff notifications

    In beta

    The same escalation flow for Teams, posted to a channel with the transcript and customer record attached.

  • Discord

    Community answers

    Available

    Answers in your community server from the same knowledge sources, so members get the documented answer without waiting for a moderator.

Channels

One thread per customer, whichever way they reached you. Nobody on your team answers the same question twice because it arrived twice.

  • WhatsApp Business

    Messaging channel

    Available

    Connect a WhatsApp Business number and conversations join the same inbox as web chat, with replies in the customer's language.

  • Instagram DMs

    Messaging channel

    Available

    Story replies and direct messages route into the shared inbox, so social does not quietly become a second, unstaffed support queue.

  • Email

    Forwarding address

    Available

    Forward your support address and the assistant drafts or sends replies under your own domain, escalating anything it is not confident about.

Website platforms

If you can paste a script tag into your site's header, you can install the widget. Most people are done in under ten minutes.

  • WordPress

    Plugin or script tag

    Available

    Install the plugin and paste your site key, or add the script to your theme header if you would rather not add a plugin.

  • Shopify storefront

    Theme app embed

    Available

    Enable the app embed in your theme editor. No theme code to edit, and it survives theme updates.

  • Webflow

    Custom code

    Available

    Paste the snippet into Project Settings โ†’ Custom Code, before the closing body tag.

  • Wix

    Custom code

    Available

    Add it under Settings โ†’ Custom Code, scoped to all pages.

  • Squarespace

    Code injection

    Available

    Paste it into Settings โ†’ Advanced โ†’ Code Injection.

  • Ghost

    Site header

    Available

    Add it under Settings โ†’ Code injection โ†’ Site header.

Frameworks

The widget is a single async script and a global command queue, so it behaves the same whichever framework renders around it.

  • React

    Component or script

    Available

    Load the script once at the app root and call the queue from anywhere โ€” commands issued before the widget finishes loading are replayed when it boots. No iframe wrangling, no ref juggling.

  • Next.js

    App Router ready

    Available

    Ships clean with the App Router and Server Components: drop the loader into your root layout with `next/script` and lazy loading, so it never blocks your first paint.

  • Vue

    Plugin or script

    Available

    Same script tag and queue, installed once in your app entry point.

  • Svelte

    Script tag

    Available

    Add it to `app.html` and call the queue from any component.

  • Angular

    Script tag

    Available

    Add it to `index.html`; the queue is available from any service or component.

Installing it

Three steps, and the third one is optional

Nothing here needs an engineer for a week. The first step is a copy-paste, the second is a URL, and the third only matters if your visitors are signed in.

  1. Paste one script tag

    It goes anywhere before the closing body tag and loads asynchronously, so it never blocks your page. Your site key comes from the dashboard when you sign up.

    <script>
      window.ChatWidget = window.ChatWidget || function () {
        (window.ChatWidget.q = window.ChatWidget.q || []).push(arguments);
      };
    </script>
    <script async src="https://cdn.ndesk.chat/loader.js"
      data-site-key="YOUR_SITE_KEY"></script>
  2. Point it at what you already wrote

    Add your help centre URL, your docs, or a sitemap. It crawls and indexes them, then re-checks on a schedule, so an answer stops being wrong the same week the article changes. Most teams connect two or three sources and stop there.

  3. Tell it who it is talking to

    If a visitor is already signed in, pass what you know. The assistant can then look up their order or plan instead of asking questions your app can already answer.

    ChatWidget("identify", {
      email: user.email,
      name: user.name,
      externalUserId: user.id,
    });
    
    ChatWidget("set", { plan: "growth", locale: "en-GB" });

Not seeing yours?

The REST API and outbound webhooks cover anything the directory does not. Conversations, contacts and events are all readable and writable, and you can register a webhook for handoffs, resolutions and tags to drive your own workflow. If you are weighing up a build, tell us what you need it to do โ€” we will tell you honestly whether the API already covers it or whether you would be waiting on us.