Pipedrive and Keap triggers ship with shape-validated payloadsEvery Pipedrive and Keap trigger now ships with a typed output shape — flatten, filter, and map fields with zero guesswork.We've finished rolling out shape-validated outputs across the Pipedrive and Keap integrations. Every trigger now publishes a typed payload schema, with sample data and per-field types surfaced inline in the workflow builder.Why it matters: building automations against Pipedrive's `deal.added` or Keap's `contact.created` used to mean writing custom JSON expressions to dig into nested fields. With shapes, every field is a top-level variable in the expression editor.Under the hood: this is the same shape framework that powers our Pipedrive end-to-end test runner. The 18 Pipedrive deal fields and 11 Keap contact fields are now type-checked at build time.TCTiny Command TeamRead full notes →
Keap OAuth tokens now refresh proactivelyKeap's 1-hour token expiry was silently breaking long-running workflows. Tokens now refresh 5 minutes before expiry, every time.Keap's OAuth implementation issues access tokens with a 1-hour TTL. We previously refreshed on 401 failure; we now refresh proactively if the cached token is within 5 minutes of expiry.Net effect: zero failed Keap action calls due to token expiry across last week's traffic, down from 0.3% before.TCTiny Command TeamRead full notes →
ActiveCampaign + ClickUp: 13 new triggers in one dropWe migrated 11 ActiveCampaign and 6 ClickUp triggers to real-time webhooks. No more polling, no more 15-minute lag.We've rebuilt the ActiveCampaign and ClickUp trigger surface on top of their official webhook APIs. Triggers fire within seconds of the event instead of running on a polling schedule.Triggers shipped: AC — Contact Added, Contact Updated, Contact Tag Added, Deal Stage Changed, Subscriber Added, Subscriber Removed, Email Opened, Email Clicked, Email Bounced, Email Unsubscribed, List Subscription. ClickUp — Task Created, Task Updated, Task Status Changed, Task Assigned, List Created, Folder Created.Existing workflows continue working unchanged. New workflows get the lower-latency, lower-API-cost path.TCTiny Command TeamRead full notes →
Asana triggers no longer require manual webhook setupFive stacked fixes — Lambda X-Hook-Secret handling, schema rewrite, SDK fanOut patching, OAuth provider backfill, IM cache invalidation — and Asana triggers register themselves end-to-end.Setting up an Asana trigger used to require visiting Asana's developer console and pasting a webhook URL. That's gone — Tiny Command now negotiates Asana's X-Hook-Secret handshake and registers the webhook on your behalf.The fix touched five layers: trigger-enabler Lambda, schema definitions, the SDK's fanOut source, OAuth provider config, and the integration manager's cache invalidation logic.TCTiny Command TeamRead full notes →
JotForm webhooks ship with the right Content-TypeJotForm's webhook receiver rejects `application/json` bodies. The Tiny Command SDK now respects the requested Content-Type and sends `application/x-www-form-urlencoded` when JotForm asks for it.JotForm's registration endpoint always returned `WebHook URL is wrong` even when the URL was clearly valid. The cause: our SDK was sending JSON when JotForm expects form-urlencoded.Now: the SDK's `registerTrigger` honors per-app Content-Type configuration. Other apps with non-JSON registration APIs benefit too.TCTiny Command TeamRead full notes →