1

Ingest your release signals

Write updates manually for major launches, sync automatically from GitHub PRs and commits, or trigger update drafts from your deployment pipeline via API. Every source feeds the same structured update format — so delivery, guidance, and analytics work identically regardless of how the update originated.

AI groups related commits, filters noise (refactors, dependency bumps), and drafts publishable copy. You review and approve before anything goes live.

Sources: Manual · GitHub Sync · API/Events
2

Deliver to the right users, in product

Target the update to users who will care about it — by plan, behavior, feature usage, or custom attributes — and deliver it through the Signalpad widget embedded in your product. Not an email. Not an external changelog. A notification badge and feed that appears right inside your UI when users log in.

Widget components: badge, slide-in panel, modal. Trigger on load, click, or custom event. Full CSS customization.

Targeting: plan · behavior · feature · custom segments
3

Guide users through the feature

Attach a lightweight walkthrough to the update. When a user opens it, they can launch the flow directly — no navigation required. Signalpad spotlights the new UI element, shows a tooltip, waits for the user to interact, and progresses through each step. They learn the feature in context, not from a help doc they’ll never open.

Step types: spotlight, tooltip, modal, wait-for-event. Element binding via SDK keeps flows stable through UI changes.

SDK: signalpad.registerElement() · signalpad.track()
4

Measure outcomes, not just views

Every update gets a performance dashboard tracking the full adoption funnel: reach, engagement, walkthrough completion, and actual feature usage — measured by the custom event you fire in your SDK when the user performs the target action. For the first time, your release process has a conversion rate.

Events: seen · clicked · dismissed · flow_started · flow_completed · feature_used

Dashboard: reach → engagement → guided → adopted

The complete integration is three lines of code.

Add the widget script, register your UI elements, and start tracking feature usage. Everything else — the panel, the flows, the analytics — is handled for you.

Complete integration
<!-- Step 1: Embed the widget -->
<script
  src="https://signalpad.app/widget.js"
  data-project="pk_live_your_id"
/>

// Step 2: Bind UI elements for guided flows
signalpad.registerElement("mic-btn", micButtonRef);
signalpad.registerElement("send-btn", sendButtonRef);

// Step 3: Track feature usage → powers adoption rate
const handleSend = () => {
  sendVoiceNote();
  signalpad.track("voice_note_sent");
};

React, Vue, Svelte, Angular, vanilla JS — anything with a DOM. Full SDK and REST API docs available after signup.

The update lifecycle.

Every update flows through the same pipeline. Every step is tracked. Every outcome is measurable.

Signal
GitHub / Manual / API
Draft
AI-assisted copy
Review
Human approval
Target
Segment users
Deliver
In-app widget
Guide
Walkthrough flow
Adopt
Feature used ✓

Common questions.

Does it work with our existing CI/CD pipeline?

Yes. The API accepts update payloads from any source — GitHub Actions, Vercel deploy hooks, feature flag systems, or custom tooling. You can trigger update drafts programmatically and review them in the dashboard before publishing.

What if our UI changes and breaks the guided flow?

That's exactly why we built the SDK element binding system. Instead of brittle CSS selectors that break on class name changes, you bind flows to React refs or DOM element IDs using signalpad.registerElement(). Flows stay stable through UI refactors.

How is adoption rate calculated?

You define the target action for each update — like 'voice_note_sent'. When a user performs that action within 7 days of seeing the update, they're counted as adopted. The adoption rate is the percentage of targeted users who completed that action.

Can we show different updates to free vs. paid users?

Yes. Pass user attributes (plan, role, any custom data) to the SDK on initialization and use them to build targeting rules in the dashboard. Pro plan unlocks plan-based and behavioral targeting. Custom segments are available via API.

Is end-user data collected without consent?

Signalpad collects anonymized interaction events (seen, clicked, flow steps). No PII is collected from your end-users unless you explicitly pass it through the SDK. Full details in our Privacy Policy.

Ready to close the adoption gap?

One script tag. Five minutes. Your first guided update live today. Free for up to 1,000 monthly tracked users.