Hand-rolled integrations look cheap until retries, dead letters, credential storage, replay tooling, and on-call load show up. A practical build-vs-buy look for SaaS teams.
OAuth tokens do not fail on schedule. They expire during jobs, race during refresh, and get revoked without warning. This guide covers the multi-tenant patterns that keep SaaS integrations running.
Duplicate webhook deliveries are normal in at-least-once systems. Learn idempotency keys, dedup strategies, and Node.js patterns that prevent double-processing.
One event in, many deliveries out — each with its own retries and failure isolation. A practical guide to fan-out architecture for SaaS integration teams.
There are three common ways to send product events like signups, upgrades, and cancellations from your SaaS to HubSpot: build the integration directly against HubSpot's API, send events through Zapier, or use an event routing layer like Meshes. Each approach has different tradeoffs in engineering effort, reliability, and long-term flexibility.
Production webhook retry logic requires exponential backoff, jitter, idempotency tracking, dead letter queues, and per-destination rate limiting — typically 1,500–3,000 lines of code before you add any destination-specific logic. This post walks through building it yourself, then explains why most SaaS teams shouldn't.