Integrations

Send handoffs and replies to your help desk with a signed webhook, get a weekly summary by email, and embed the chat with your page builder.

ProTeam & Handoff → Integrations

Help desk webhook

Webhook URL

A public HTTPS address, for example a Zapier, Make or help desk webhook. Leave blank to turn the webhook off.

Send These Events
All on

Visitor asked for a person (conversation.handoff), Team reply sent (conversation.replied), Conversation status changed (conversation.status; not sent for the waiting statuses, which the handoff event covers). Replies are your team's messages, never internal notes.

Include Chat Transcript
Default Off

Also send the chat with the assistant from before the visitor asked for a person, as conversation.transcript.

Under Signing & Testing: the Signing secret, Send test event (sends ping; without a saved URL: "Enter an HTTPS webhook URL and save first."), Regenerate secret and the last delivery result ("Last delivery: conversation.replied succeeded (HTTP 200), 5 mins ago."). Only administrators can change the webhook URL, events and transcript setting or see the secret; other managers see the settings read-only ("Only administrators can change this.").

  • Team & Handoff tab scrolled to the Integrations section
  • Help Desk Webhook: Webhook URL, Send These Events, Include Chat Transcript, Signing & Testing
  • Weekly Digest below

Payload

{
  "id": "…",
  "event": "conversation.handoff",
  "delivered_at": "2026-10-14T10:00:00+00:00",
  "site": "https://your-store.com/",
  "conversation": {
    "id": 42, "status": "human_requested", "name": "Sarah", "email": "sarah@example.com",
    "customer_id": 0, "agent": null, "created_at": "…",
    "admin_url": "https://your-store.com/wp-admin/…",
    "messages": [ { "from": "customer", "text": "Can I talk to someone?", "time": "…" } ]
  }
}

messages holds the messages from the request for a person on (from is customer, ai, human_agent or system), up to 200 per conversation. agent is { "name", "email" } once someone is assigned. Internal notes are never sent.

Verifying the signature

Headers: X-Siteryn-Event, X-Siteryn-Delivery, X-Siteryn-Timestamp and X-Siteryn-Signature = sha256= + HMAC-SHA256 of "{timestamp}.{body}" with your secret.

$secret    = 'your-signing-secret';
$body      = file_get_contents( 'php://input' );
$timestamp = $_SERVER['HTTP_X_SITERYN_TIMESTAMP'] ?? '';
$signature = $_SERVER['HTTP_X_SITERYN_SIGNATURE'] ?? '';
$expected  = 'sha256=' . hash_hmac( 'sha256', $timestamp . '.' . $body, $secret );

if ( ! hash_equals( $expected, $signature ) || abs( time() - (int) $timestamp ) > 300 ) {
	http_response_code( 401 );
	exit;
}
$event = json_decode( $body, true );

Deliveries run in the background with up to 3 attempts (retries after 5 and 30 minutes) on network errors, 5xx or 429 responses; X-Siteryn-Delivery stays the same on retries, so reject repeated delivery ids and old timestamps. Redirects are not followed.

Weekly digest

Send Weekly Digest
Default Off

"[Your Site] Support chat: your week": the last seven days' conversations, answers, resolved without your team, answers citing your information, contact requests, failed messages, "Support Inbox: 2 waiting for your team, 1 in progress", up to 5 unanswered questions and a link to Analytics.

Send On · Send To

Monday by default · blank uses the contact form address.

Page-builder widgets

Embed the chat, always open, in a page. The name, welcome message and colours come from the plugin settings (Siteryn → AI Support Agent).

BuilderFind it as
Block editorThe "AI Store Assistant" block (one per page; wide and full alignment)
ElementorThe "AI Store Assistant" widget
BricksThe "AI Store Assistant" element

The widgets keep rendering if the license lapses. You can also use the Free plugin's shortcode anywhere.