Every screen is an endpoint.

A REST API with every screen as an endpoint, an event feed in and out, a JavaScript SDK, and an MCP server so your own agent can run it.

REST API

Send an event, get the contact back.

One call records a purchase, moves the contact to its stage and stops the campaigns that no longer apply. Tickets, contacts, segments and campaigns answer the same way.

  • REST API
  • Events
  • JS SDK
  • MCP
POST /api/events
{
  "type": "purchase",
  "email": "[email protected]",
  "order_id": "6204",
  "value": 185.00,
  "currency": "EUR"
}
200 OK{ "contact": "c_8f2a", "stage": "Active customer", "campaigns_stopped": 1}

Events

Events in and out.

Send purchases, sign-ups and checkouts from your server or the browser; rules, stages and segments act on them as they land. Outgoing webhooks are on the roadmap.

In
{"type": "checkout", "email": "[email protected]", "value": 185.00, "currency": "EUR"}
OutOn the roadmap
{"event": "contact.stage_changed", "contact": "c_8f2a", "stage": "Active customer"}

JavaScript SDK

One script tag on your shop.

The chat bubble, the search bar and visitor tracking come from the same script. Open the chat from your own buttons, hide it, or send a question into it.

JavaScript reference
<script src="https://zellwo.zellwo.com/widget.js"></script>
<script>
  const widget = ZellwoWidget.init({ mode: 'search', client_id: 'YOUR_EMBED_KEY' });
  widget.open();
  widget.hide();
  ZellwoWidget.ask('Winter tyres for a Golf 7');
</script>

MCP

Your own agent can run it.

Connect Claude or ChatGPT and ask in plain words. 247 operations, OAuth 2.1, per-grant scopes.

> Who searched winter tyres this week and didn't buy?212 people, 148 with an email.> Make a campaign for them, 10% control group.Drafted three variants. Sends start at 09:00 in their timezone.

Put it on your shop this week

14-day trial on Grow and Scale · Live in under 30 minutes

“Support that used to take two people now takes one, and the follow-ups bring back customers we had written off.”
— Ecoparcel