Connect Sylaris OS
Updated
Your website tag sees the visit and the intake. Sylaris OS sees what happens next: payments, provider decisions, shipments and refills. Connecting Sylaris OS sends those server events to Kalman, so your reports and ad platforms count real outcomes.
Pick the right connection
- Sylaris OS source (this article): Sylaris sends events in Kalman's own format and signs each one.
- Webhook catcher: Sylaris sends its usual order webhook as it is, and you map the fields in Kalman. See Webhook catchers.
Before you start
- You need to be an owner or admin of the workspace.
- The workspace needs an active plan. A webhook sent to a preview workspace gets a "not found" answer.
- Install the tag first (Install the tag), so server events can join the site visit that led to them.
Set it up
- Open Integrations. Under Telehealth platforms, find Sylaris OS and click Connect.
- The new source opens. In the Endpoint panel, copy the Webhook URL.
- Under Signing secret, click Reveal and copy the secret.
- In Sylaris OS, paste the URL and the secret into the clinic's Kalman settings.
Sylaris signs each request with the header X-Kalman-Signature: t={unix},v1={hex}. The value is an HMAC-SHA256 of {t}.{raw body}. Kalman rejects requests more than 5 minutes old. Rotate secret makes a new secret, and the old one stops working at once, so update Sylaris right away.
Which events arrive
| Event | When |
|---|---|
purchase |
Payment captured |
provider_approved / provider_declined |
The clinician decides |
order_shipped |
The pharmacy ships |
refill_purchased |
A renewal is paid |
subscription_canceled |
The patient cancels |
refund_issued |
A refund is processed |
lead, intake_started, intake_completed, checkout_started, account_created |
Optional server copies of site steps |
Kalman receives and stores every event in this table, but it doesn't send all of them to your ad platforms. Provider approved and Provider declined are available but off: they go to Meta, Google or another channel only after you map them on that channel's page and acknowledge that you're sending a provider's decision. Purchases and refills are mapped by default.
A custom name works too. It must start with a letter, use only letters, numbers and underscores, and be at most 40 characters. Kalman drops a name that contains a sensitive term.
Useful fields on each event:
order_ref: Kalman counts purchases, refills, approvals, declines, shipments and cancellations once per order. Give each refill its ownorder_ref. Other events are de-duplicated byevent_id.product_sku: a non-descriptive ID such asplan-athat matches a SKU on the Products page (Products and aliases). If a purchase, refill or checkout has novalue, Kalman uses the product's price.kl_id: the visitor's_kl_idcookie, captured at checkout. It joins the event to the site visit and the ad click.email,phone,external_id: Kalman hashes these on arrival.ad_consent:falsestops ad sharing for that person.
Test it
- Place a test order in Sylaris, then move it through paid, approved and shipped.
- On the source page, Recent deliveries lists each delivery and its status:
- processed: the event was recorded.
- ignored: nothing could be recorded, for example because the event name was dropped. The Detail column shows
no_mappable_events. - failed: the Detail column says why, for example
bad_signatureormalformed_json.
- Open Event log to see the recorded events.
To pause the source, set Status to Disabled (reject deliveries) and click Save.
Privacy
- Kalman stores raw webhook bodies encrypted and deletes them after 30 days. Recent deliveries shows only a status, never the payload.
- Email, phone and patient ID are normalized and SHA-256 hashed on arrival. Only the hashes are kept.
- Never send question text, answers, conditions, medications, product names or free text.
What Kalman never sends: ad platforms never receive your product SKUs or names, intake step details, or plain-text emails and phones. Outbound events are built from a short allowlist of fields.
Related articles
- Stripe and webhook catchersConnect Stripe, or catch any platform's webhook, map its fields to Kalman events, test the mapping, and watch for changes.
- Products and aliasesAdd your programs with a SKU, price and projected LTV, and link unmatched SKUs or Stripe prices so revenue and LTV land on the right product.
- Install the Kalman tagCopy the snippet from Integrations → Tracking, paste it in the head of every page, allow your domains, then press Verify installation.
- The Event log, deliveries and the data-flow recordSee every event Kalman received, exactly what it sent to Meta and why anything was held back, and download a data-flow record.
Support
Still stuck? Log in and open a request.
We answer in writing within one business day.
Open a request