Przejdź do treści
Biblioteka skilli
Sprzedaż i obsługa klienta · Budowanie i kod

intercom-core-workflow-a

/intercom-core-workflow-a

Zarządza kontaktami Intercom: tworzenie, wyszukiwanie, aktualizacja i scalanie leadów w użytkowników, przez REST API, przy synchronizacji danych i segmentacji.

Licencja
MIT
Ostatnia zmiana repozytorium
26.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
3
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
4
Przestarzałość

Brak sygnałów. Repozytorium zmienione 26.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Zarządza kontaktami Intercom: tworzenie, wyszukiwanie, aktualizacja i scalanie leadów w użytkowników, przez REST API, przy synchronizacji danych i segmentacji.

Wyzwalacze z opisu

intercom contactsintercom usersintercom leadscreate intercom contactsearch intercom contactsmerge intercom lead
Oryginalny opis (EN)

Manage Intercom contacts: create, search, update, merge leads into users. Use when building contact management features, syncing user data, or implementing contact search and segmentation against the Intercom REST API. Trigger with phrases like "intercom contacts", "intercom users", "intercom leads", "create intercom contact", "search intercom contacts", "merge intercom lead".

Jak działa

  1. Overview
  2. Prerequisites
  3. Instructions
  4. Output
  5. Error Handling
  6. Examples
  7. Resources
  8. Next Steps
Sekcje z nagłówków SKILL.md, w oryginale · 113 linii, 704 słów
Podgląd SKILL.md
---
name: intercom-core-workflow-a
description: 'Manage Intercom contacts: create, search, update, merge leads into users.

  Use when building contact management features, syncing user data, or implementing
  contact search and segmentation against the Intercom REST API.

  Trigger with phrases like "intercom contacts", "intercom users",
  "intercom leads", "create intercom contact", "search intercom contacts",
  "merge intercom lead".

  '
allowed-tools: Read, Write, Edit, Bash(npm:*), Grep
version: 1.6.0
license: MIT
author: Jeremy Longshore <jeremy@intentsolutions.io>
tags:
- saas
- support
- messaging
- intercom
compatibility: Designed for Claude Code
---
# Intercom Contacts & Contact Management

## Overview

Primary workflow for managing Intercom contacts. Covers creating users and leads, searching with filters, updating custom attributes, merging leads into users, and listing segments. This SKILL.md gives you the high-level workflow and the first example; drill into [references/implementation.md](references/implementation.md) for the full step-by-step code and [references/examples.md](references/examples.md) for end-to-end flows.

## Prerequisites

- Completed `intercom-install-auth` setup
- Understanding of Intercom contact model (users vs leads)
- Valid API credentials with contacts read/write scope

## Instructions

The contact workflow is six operations against the `intercom-client` SDK. Instantiate the client once, then call the operation you need:

```typescript
import { IntercomClient } from "intercom-client";

const client = new IntercomClient({
  token: process.env.INTERCOM_ACCESS_TOKEN!,
});

// Create an identified user (has external_id)
const user = await client.contacts.create({
  role: "user",
  externalId: "customer-9001",
  email: "alice@acme.com",
  name: "Alice Johnson",
  customAttributes: { plan: "enterprise" },
});
```

The six operations, in the order you typically reach for them:

1. **Create contacts** — `contacts.create` with `role: "user"` (identified, needs `externalId`) or `role: "lead"` (anonymous).
2. **Search contacts** — `contacts.search` with a single filter or a compound `AND`/`OR` query, plus pagination and sort.
3. **Update a contact** — `contacts.update` by `contactId` to change name or custom attributes.
4. **Merge a lead into a user** — `contacts.merge({ from: leadId, into: userId })`; the lead's conversations, events, and tags transfer to the user.
5. **List segments** — `contacts.listSegments({ contactId })` to see which segments a contact belongs to.
6. **Paginate all contacts** — `contacts.list` with `startingAfter` cursor to stream the full contact base.

Full code for every step, including compound-search filters and the async-generator pagination helper, is in [references/implementation.md](references/implementation.md).

## Output

Each operation returns a typed response from the SDK:

- **`create` / `update`** — a single `contact` object: `{ type: "contact", id, role, email, name, customAttributes, created_at, ... }`. The `id` is the Intercom-generated handle you pass to later calls.
- **`search`** — `{ data: Contact[], totalCount, pages }`. Iterate `data`; read `totalCount` for the match count; use `pages.next.startingAfter` to page.
- **`merge`** — the surviving `user` contact (the `into` target); the `from` lead is deleted.
- **`listSegments`** — `{ data: Segment[] }`, each `{ id, name }`.
- **`list`** — one page `{ data: Contact[], pages }`; follow `pages.next.startingAfter` until it is absent.

### Contact Data Model

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Intercom-generated unique ID |
| `external_id` | string | Your system's user ID |
| `role` | `"user"` or `"lead"` | Contact type |
| `email` | string | Email address |
| `name` | string | Full name |
| `phone` | string | Phone number |
| `custom_attributes` | object | Custom key-value data |
| `created_at` | number | Unix timestamp |
| `last_seen_at` | number | Last activity timestamp |
| `signed_up_at` | number | Signup timestamp |
| `tags` | object | Applied tags list |
| `companies` | object | Associated companies |
| `location` | object | GeoIP location data |

## Error Handling

| Error | HTTP Code | Cause | Solution |
|-------|-----------|-------|----------|
| `not_found` | 404 | Contact ID doesn't exist | Verify with search first |
| `conflict` | 409 | Duplicate `external_id` or `email` | Search before creating |
| `parameter_invalid` | 422 | Bad field value or missing required field | Check field types and names |
| `rate_limit_exceeded` | 429 | Over 10,000 req/min (private apps) | Add backoff, batch operations |
| `merge_not_possible` | 400 | Merging user into lead (reversed) | `from` must be lead, `into` must be user |

## Examples

Quick create-then-search flow:

```typescript
const user = await client.contacts.create({
  role: "user",
  externalId: "customer-9001",
  email: "alice@acme.com",
  name: "Alice Johnson",
});

const found = await client.contacts.search({
  query: { field: "email", operator: "=", value: "alice@acme.com" },
});
console.log(`Found ${found.totalCount} match(es)`);
```

Three fuller worked flows — lead-to-user lifecycle, segmenting recent enterprise signups, and streaming every contact for an export — are in [references/examples.md](references/examples.md).

## Resources

- [Contacts API](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts)
- [Search Contacts](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/searchcontacts)
- [Merge Contacts](https://developers.intercom.com/docs/references/rest-api/api.intercom.io/contacts/mergecontact)
- [Contact Guides](https://developers.intercom.com/docs/guides/contacts)

## Next Steps

For conversation management (creating, replying to, and searching conversations), see the companion skill `intercom-core-workflow-b`, which builds on the contact IDs produced by this workflow.
Pliki w paczce (3)
  • SKILL.md 6 KB
  • references/examples.md 3 KB
  • references/implementation.md 4 KB

Wersje

W bazie nie ma innych skilli o nazwie intercom-core-workflow-a.

Identyczna treść występuje jeszcze w 1 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.

Migawka bazy z 28.10.2026 · wersja paczki a76fc2267e72 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100intercom-core-workflow-b
    Zarządza rozmowami w Intercom: tworzy, odpowiada, zamyka, odkłada, przypisuje i taguje, przy budowaniu funkcji obsługi rozmów i automatyzacji wsparcia.
  • 90intercom-analysis
    Analizuje rozmowy w Intercom, szuka wzorców zgłoszeń wsparcia i wyszukuje kontakty oraz firmy.
  • 100intercom-hello-world
    Tworzy minimalny działający przykład Intercom z kontaktami, rozmowami i wiadomościami, do startu integracji, testu konfiguracji lub poznania modelu danych API.
  • 100install-cli
    Instaluje i uwierzytelnia Intercom CLI (@intercom/cli) do zarządzania przestrzeniami roboczymi Intercom z wiersza poleceń, dla ludzi i agentów AI.
  • 100intercom
    Dodaje do produktu komunikację z klientami i wsparcie przez Intercom: widżet Messenger, identyfikację użytkowników, product tours, help center i REST API dla kontaktów i wiadomości.
  • 100intercom
    Wywołuje natywne API Intercom przez Proxy API Apideck z zarządzanym uwierzytelnianiem Vault, z serviceId intercom, bez mapowania na zunifikowane API.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.