SaaS workflows that give AI work context
Carry meeting data into the next task and design referral and conversion measurement.
- input
- Services, required data, destination, and execution authorization.
- output
- Setup steps, runnable synthetic and public-metadata examples, failure conditions, and checked sources.
- limits
- Synthetic examples do not establish real-meeting accuracy or earnings. Handle credentials and customer data in your own environment.
Task and article catalog for AI (JSON) →
Choose a runnable example for your task
Save all listed files in one folder and run the command for your environment. Both SQLite demos require Bun. The MCP example contacts public metadata endpoints.
Select your own standup statements
- Input
- Seven synthetic statements and an exact speaker name.
- Output
- Matched statements with source positions and timestamps; two match in the fixture.
- Conditions and limits
- Bun or Node.js 22+. Cannot distinguish two people with the same name; real-recording speaker accuracy is untested.
Read the evidence and full instructions →bun standup-demo.mjs node standup-demo.mjsExercise pagination and retries after 429
- Input
- Two pages of synthetic responses; the first attempt at page two returns 429.
- Output
- Three meeting IDs, requested URLs, and 2000 milliseconds passed to the wait function.
- Conditions and limits
- Bun or Node.js 22+. No live API access, actual delay, storage or recovery after interruption.
Read the evidence and full instructions →bun meeting-pages-demo.mjs node meeting-pages-demo.mjsCompare replay handling and local completion state
- Input
- Three synthetic tasks; separate demos exercise repeated input and a local DONE state.
- Output
- Stored counts and status after replay: direct upsert returns to PENDING; separate local state retains DONE.
- Conditions and limits
- Bun only. The storage demo creates and removes temporary SQLite; the status demo uses in-memory SQLite. No live webhook receiver or external task integration.
- task-store-demo.mjs →
- task-store.mjs →
- task-status-demo.mjs →
- task-status-store.mjs →
- circleback-webhook.mjs →
- task-store-fixture.json →
Read the evidence and full instructions →bun task-store-demo.mjs bun task-status-demo.mjsCompare URL spelling after bilingual UTM generation
- Input
- A synthetic URL containing a space, tilde and repeated parameters.
- Output
- Japanese and English URLs plus comparisons of decoded values, spelling and repeated values.
- Conditions and limits
- Bun or Node.js 22+. Does not visit the referral destination or verify signatures, attribution or commissions.
Read the evidence and full instructions →bun referral-demo.mjs node referral-demo.mjsExercise JSON rewriting and replay in signature checks
- Input
- Synthetic JSON with whitespace, a newline and Japanese text, plus a test HMAC signature.
- Output
- The original body and its replay pass; rewritten JSON, tampering, a wrong secret and malformed signatures fail. A second read of the Request body also fails.
- Conditions and limits
- Bun or Node.js 22+. Synthetic signature and Request body checks; no live webhook receiver or storage. Does not reject replays.
Read the evidence and full instructions →bun signature-demo.mjs node signature-demo.mjsSeparate webhook signature checks from payload validation
- Input
- Seven signed synthetic inputs: an empty array, an unassigned task, invalid JSON, null, an unknown status, duplicate IDs and tampering after signing.
- Output
- The failing stage (signature, JSON parsing or payload shape), plus row counts and owner-review information for the two accepted inputs.
- Conditions and limits
- Bun or Node.js 22+. Synthetic inputs only; no live webhook receiver, storage or replay control.
Read the evidence and full instructions →bun payload-validation-demo.mjs node payload-validation-demo.mjsInspect public Circleback MCP scopes without authentication
- Input
- An HTTPS MCP URL; defaults to the official Circleback endpoint.
- Output
- Unauthenticated status, advertised scopes, a write-scope flag, and a user-only configuration candidate.
- Conditions and limits
- Bun or Node.js 22+. Contacts public metadata endpoints. No credentials, client registration, or sign-in; authenticated read-only behavior is unverified.
Read the evidence and full instructions →bun circleback-mcp-discovery.mjs node circleback-mcp-discovery.mjsBuild Dub lead and sale request JSON offline
- Input
- Synthetic click, customer and invoice IDs with integer USD and JPY amounts.
- Output
- Lead and sale JSON, plus an empty request plan when the click ID is missing.
- Conditions and limits
- Bun or Node.js 22+. No credentials, network or storage. Live attribution, server deduplication and Stripe connectivity are untested.
Read the evidence and full instructions →bun dub-conversion-demo.mjs node dub-conversion-demo.mjsVerify Dub webhook signatures over the raw body
- Input
- A public synthetic key and lead.created body, compared with tampering, reserialization and replay.
- Output
- A record of event ID, timestamp and internal customer ID, with signature and replay results.
- Conditions and limits
- Bun or Node.js 22+. No credentials, network or storage. Live Dub delivery, deduplication and AI submission are untested.
Read the evidence and full instructions →bun dub-webhook-demo.mjs node dub-webhook-demo.mjs
Articles on adoption and implementation
- Dub webhook signature verification: raw bodies and replays in Node.js
Verify Dub-Signature with raw-body HMAC-SHA256 and extract a minimal lead.created work record. An offline Node.js/Bun example checks tampering, JSON reserialization, and replay limits without credentials.
- Dub conversion tracking: lead and sale APIs with Stripe customer mapping
Connect Dub clicks to signups and sales. Check Business requirements, lead and sale fields, USD/JPY amounts, invoiceId, and Stripe metadata with official sources and a credential-free JSON planner.
- Circleback MCP with Claude Code: setup, read-only options, and data access
Connect Circleback MCP to Claude Code, inspect OAuth and project approval, and retrieve meeting context. A 401 experiment separates a user-only scope candidate from verified read-only access, history limits, and output limits.
- Record Slack huddles and feed AI at 22:00: six Circleback settings
A Circleback workflow for giving AI usable work context: Slack huddles, a 22:00 sync, source statements, open tasks, and adoption criteria. Separates workflow experience, documented features, and local test evidence.
- Circleback action items to tasks: testing webhook signatures, owners, and replay keys
Runnable Circleback webhook code tests signatures, owners, SQLite upserts, and stale replays. A separate status example preserves destination-owned DONE. Uses synthetic data.
- Track Dub referral links in Japanese and English without breaking referral IDs
Adding UTMs can re-encode existing referral parameters even when their decoded values stay the same. Reproduce spaces, tildes, and duplicate keys locally, with limits for signed URLs and commission attribution.