Agent skill · software engineering · jeremylongshore

intercom-rate-limits

Handle Intercom API rate limits with backoff, queuing, and header monitoring.

Why this skill is useful

Adds a complete TypeScript implementation for handling Intercom API rate limits, including retry logic and proactive monitoring that the AI cannot generate on its own.

What it needs

Requires intercom-client, p-queue installed locally. Requires intercom account access. About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.

What this skill does

Intercom Rate Limits Overview Intercom enforces rate limits per app and per workspace. Handle 429 errors gracefully with exponential backoff, queue-based throttling, and proactive header monitoring. This skill gives you five composable defenses — a retry wrapper, a live monitor, a request queue, request batching, and metrics — so a high-volume integration stays under the ceiling instead of spraying 429s. The full, copy-paste TypeScript for all five lives in references/implementation.md; this page carries the limits, the header contract, and a lean skeleton so you can wire it up from here and drill in for depth. Rate Limit Tiers Scope Limit Notes ------- ------- ------- Private app 10,000 req/min Per app Public app (OAuth) 10,000 req/min Per app Workspace total 25,000 req/min Across all apps Search endpoints 1,000 req/min /contacts/search, /conversations/search Scroll endpoints 100 req/min Bulk data export Rate Limit Headers Every response includes these headers — read them to throttle proactively: Prerequisites An Intercom access token in INTERCOMACCESSTOKEN (Developer Hub > Your App Authentication) — all requests below send it as Authorization: Bearer. The official SDK: npm install intercom-client. For queue-based throttling: npm install p-queue. Read an existing client wrapper before editing so you extend it rather than duplicate it. Instructions Apply the defenses in order — each builds on the previous one. Use Write to create a new intercom-rate-limit.ts module, or Edit to fold these into an existing client wrapper. 1. Wrap every call in header-aware retry. On 429, wait until X-RateLimit-Reset; on 5xx, exponential backoff with jitter. Skeleton: 2. Add a proactive monitor. Feed response headers into a monitor and call waitIfNeeded() before firing when usage crosses ~90%, so you slow down before a 429. 3. Throttle with a queue. Route requests through a p-queue capped at ~150 req/s to keep bursts under the per-app ceiling. 4. Batch to cut request count. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills jeremylongshore/intercom-rate-limits

View the source on GitHub

Browse the @skills marketplace