Support
Email hello@cairnkit.dev and a person will answer. There is no ticket queue and no bot in front of it.
Before you write
These four cover almost everything that goes wrong during setup. If none of them fit, the email address above is the right next step — include your project name and roughly when the problem started, and we can look at what actually arrived.
No events are arriving
Nearly always the key. NEXT_PUBLIC_* variables are inlined at build time, so a dev server that was already running when you added the key has baked in undefined. Restart it.
The symptom is silent by design: tours work perfectly, nothing reports, and no error appears anywhere. With no key set, sendToCloud is simply never called — so a contributor without one sees no failed requests in their console.
The dashboard says “no data yet” but events exist
Check that the flow ids match. The funnel joins what your app reported against what your app ran, and a tour renamed in code but not redeployed reports under the old id. The runs list on the project page shows what actually arrived, which is the fastest way to see which id is being sent.
Slack alerts stopped
A broken anchor is announced once and then stays quiet for six hours, so a bug that is still unfixed does not send one message per visitor. If nothing at all is arriving, open the project's settings and press Send test — it reports Slack's own error rather than a generic failure.
If the test says the webhook could not be read, the integration needs reconnecting. That happens when the encryption key changed on our side, and reconnecting is the only fix — nothing is lost except the connection itself.
A tour breaks in production that cairnkit check passed
Expected, and the reason the runtime alert exists. cairnkit check proves an anchor is spread onto an element somewhere in your source. It cannot prove that element was on the page at the moment the step opened — which is a different question when the element is behind a feature flag, only in the desktop nav, on a list that is empty for new accounts, or still mounting when the step arrives.
Static checking catches the deleted button before anyone sees it. The alert catches the button that exists and still was not there.
Something else
Bugs in the open-source library belong on GitHub, where they get fixed in public. Anything about your account, your data or your bill: hello@cairnkit.dev.
If you need your data exported or deleted, that is the same address, and the privacy policy says what we hold.