Skip to content
Skills Library
Programming · Analysis

intercom-common-errors

/intercom-common-errors

Diagnose and fix Intercom API errors by HTTP status code and error type. Use when encountering Intercom errors, debugging failed API requests, or troubleshooting integration issues. Trigger with phrases like "intercom error", "fix intercom", "intercom not working", "debug intercom", "intercom 401", "intercom 429".

Licence
MIT
Last repository change
26.10.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
3
Scripts
0
HTML comments
0
URLs in SKILL.md
5
Deprecation

No signals detected. Repository changed on 26.10.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Diagnose and fix Intercom API errors by HTTP status code and error type. Use when encountering Intercom errors, debugging failed API requests, or troubleshooting integration issues. Trigger with phrases like "intercom error", "fix intercom", "intercom not working", "debug intercom", "intercom 401", "intercom 429".

Triggers from the description

intercom errorfix intercomintercom not workingdebug intercomintercom 401intercom 429
Original author description

Diagnose and fix Intercom API errors by HTTP status code and error type. Use when encountering Intercom errors, debugging failed API requests, or troubleshooting integration issues. Trigger with phrases like "intercom error", "fix intercom", "intercom not working", "debug intercom", "intercom 401", "intercom 429".

How it works

  1. Overview
  2. Prerequisites
  3. Instructions
  4. Output
  5. Error Handling
  6. Examples
  7. Resources
  8. Next Steps
Original SKILL.md headings · 101 lines, 598 words
SKILL.md preview
---
name: intercom-common-errors
description: 'Diagnose and fix Intercom API errors by HTTP status code and error type.

  Use when encountering Intercom errors, debugging failed API requests,

  or troubleshooting integration issues.

  Trigger with phrases like "intercom error", "fix intercom",

  "intercom not working", "debug intercom", "intercom 401", "intercom 429".

  '
allowed-tools: Read, Grep, Bash(curl:*)
version: 1.6.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- support
- messaging
- intercom
compatibility: Designed for Claude Code
---
# Intercom Common Errors

## Overview

Quick reference for diagnosing and fixing Intercom REST API errors by HTTP
status code. Every Intercom error returns the same envelope, so triage is
fast: read the `errors[].code`, match it to the table below, apply the fix.

All Intercom errors share this shape:

```json
{
  "type": "error.list",
  "request_id": "req_abc123",
  "errors": [{ "code": "unauthorized", "message": "Access Token Invalid" }]
}
```

The full per-code catalog (causes + copy-paste fixes) lives in
[references/error-reference.md](references/error-reference.md).

## Prerequisites

- An Intercom access token in `INTERCOM_ACCESS_TOKEN` (Developer Hub > Your App > Authentication).
- `curl` and `jq` for the diagnostic commands.
- For the TypeScript fixes: the `intercom-client` SDK (`npm install intercom-client`).

## Instructions

1. **Capture the error.** Grab the HTTP status and the JSON body. Use **Read** on your app logs, or **Grep** the codebase for the failing call site to see how the request is built.
2. **Match the code.** Find the `errors[].code` in the Error Handling table below.
3. **Confirm the token/limits first.** Run the diagnostic script in [references/diagnostics.md](references/diagnostics.md) to rule out auth and rate-limit issues in one shot.
4. **Apply the fix.** Open [references/error-reference.md](references/error-reference.md), jump to your status code, and use the causes + fix snippet there.
5. **Retry only retryable errors.** 429 and 5xx are retryable with backoff; 4xx client errors are not — fix the request instead.

Fast auth check:

```bash
curl -s https://api.intercom.io/me \
  -H "Authorization: Bearer $INTERCOM_ACCESS_TOKEN" \
  -H "Accept: application/json" | jq '.type'
# Returns "admin" when the token is valid
```

## Output

You resolve the request into one of three outcomes:

- **Fixed request** — a corrected token, added OAuth scope, valid payload, or existence check that makes the call succeed.
- **Backoff-and-retry** — for 429 / 5xx, a retry wrapper that respects `X-RateLimit-Reset` and exponential backoff.
- **Escalation** — for persistent 5xx, the `request_id` to hand to Intercom support along with the status-page state.

## Error Handling

| Error Code | HTTP | Retryable | Action |
|------------|------|-----------|--------|
| `unauthorized` | 401 | No | Regenerate token |
| `forbidden` | 403 | No | Add OAuth scope |
| `not_found` | 404 | No | Verify resource ID |
| `conflict` | 409 | No | Search before create |
| `parameter_invalid` | 422 | No | Fix input data |
| `rate_limit_exceeded` | 429 | Yes | Backoff and retry |
| `server_error` | 500+ | Yes | Retry, check status page |

**Limits:** 10,000 req/min per app, 25,000 req/min per workspace. On 429,
read `X-RateLimit-Reset` and wait until that epoch before retrying.

## Examples

**401 — invalid token.** The auth check returns nothing instead of `"admin"`. Regenerate the token in Developer Hub and update the app's env. Full walkthrough: [references/error-reference.md](references/error-reference.md).

**409 — duplicate contact.** `create` fails because the `email`/`external_id` already exists. Search first, then create:

```typescript
const existing = await client.contacts.search({
  query: { field: "email", operator: "=", value: email },
});
return existing.data.length > 0
  ? existing.data[0]
  : client.contacts.create({ role: "user", email, externalId });
```

**429 — rate limited.** Wrap the call in exponential backoff that honors
`X-RateLimit-Reset`. Full retry helper: [references/error-reference.md](references/error-reference.md).

For a full triage sweep (auth + rate limit + Intercom status in one command),
run the script in [references/diagnostics.md](references/diagnostics.md).

## Resources

- [Error Codes](https://developers.intercom.com/docs/references/rest-api/errors/error-codes)
- [HTTP Responses](https://developers.intercom.com/docs/references/rest-api/errors/http-responses)
- [Rate Limiting](https://developers.intercom.com/docs/references/rest-api/errors/rate-limiting)
- [Intercom Status](https://status.intercom.com)
- [Full error reference](references/error-reference.md) — per-code causes and fixes
- [Diagnostics](references/diagnostics.md) — one-shot health-check script

## Next Steps

For deeper, end-to-end debugging of an Intercom integration — capturing request/response pairs, replaying failing calls, and correlating `request_id`s across a session — see the `intercom-debug-bundle` skill in this pack.
Files in this package (3)
  • SKILL.md 5 KB
  • references/diagnostics.md 1 KB
  • references/error-reference.md 4 KB

Versions

The database has no other skills named intercom-common-errors.

Identical content appears in 1 other GitHub folders. We show one copy with the highest score.

Database snapshot: 13.11.2026 · package version de6c21702bfc (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 100intercom-debug-bundle
    Collect Intercom debug evidence for support tickets and troubleshooting. Use when encountering persistent Intercom API issues, auth or rate-limit failures, or preparing a diagnostic bundle to attach to an Intercom support ticket. Trigger with phrases like "intercom debug",…
  • 100shopify-common-errors
    Diagnose and fix common Shopify API errors including 401, 403, 422, 429, and GraphQL errors. Use when encountering Shopify errors, debugging failed requests, or troubleshooting integration issues. Trigger with phrases like "shopify error", "fix shopify", "shopify not working",…
  • 100instantly-common-errors
    Diagnose and fix Instantly common errors and exceptions. Use when encountering Instantly errors, debugging failed requests, or troubleshooting integration issues. Trigger with phrases like "instantly error", "fix instantly", "instantly not working", "debug instantly".
  • 100linear-common-errors
    Diagnose and fix common Linear API errors. Use when encountering Linear API errors, debugging integration issues, or troubleshooting authentication problems. Trigger with phrases like "linear error", "linear API error", "debug linear", "linear not working", "linear authentication error".
  • 100intercom
    Intercom via Apideck's Proxy API + managed Vault auth — Apideck handles auth and proxies HTTP calls to Intercom's native API. Use when the user wants to call Intercom (no unified API resource mapping). Routes through Apideck with serviceId "intercom".
  • 100install-cli
    Install and authenticate the Intercom CLI (`@intercom/cli`) — a command-line tool for managing Intercom workspaces, designed for both human operators and AI agents. Use when the user asks to "install the Intercom CLI", "set up the intercom command", "install @intercom/cli", or…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.