3CX Directory & Contacts · git:20260821.b0139ac · 2026-08-21 · sha256 4de11ae7248d5ffd
3CX Directory & Contacts git:20260821.b0139acA
Immutable. This exact content is served forever at /api/v1/blob/4de11ae7248d5ffd.
--- name: "3CX Directory & Contacts" description: > 3CX's read-only directory surface: resolving a caller by email or by exact extension, searching the PBX's own phonebooks, searching contacts synced from an integrated CRM, and listing PBX users/extensions. when_to_use: >- When looking up who a phone number, extension, or email address belongs to inside 3CX, or when listing the PBX's users and extensions. Use when: 3cx contact, 3cx extension, 3cx phonebook, 3cx directory, find caller 3cx, who is this extension, or 3cx user list. --- # 3CX Directory & Contacts ## Overview 3CX exposes read-only lookups across three sources: the PBX's own phonebooks (company and personal entries), the PBX's user/extension list, and — where the PBX has a CRM connector configured — contacts synced in from that CRM. All of it is read-only; nothing in this skill creates or edits a contact or extension. ## Anti-triggers - **The CRM record itself** — this skill only reads what 3CX has synced in or is querying live from a connected CRM. To create or edit the actual CRM contact, use `hubspot-contacts` or `salesbuildr-companies-contacts`. - **The client's documentation record** — extension lists and phone trees that belong in runbooks live in `hudu-companies`, not here. ## Capabilities Exact tool names are not published by 3CX — see the `api-patterns` skill for why, and call `tools/list` for the authoritative names on a connected PBX. The read-only capabilities this skill covers: - Find a contact by email - Find a contact by exact extension - Search CRM-integrated contacts - Search 3CX phonebooks - List PBX users/extensions ## Common Workflows ### Resolve a caller 1. If you have an email address or an exact extension number, use the matching exact-match lookup first — it's the most reliable signal. 2. If that comes back empty, fall back to a phonebook search or a CRM-integrated contact search for a partial or fuzzy match. 3. If you only have a name, search the phonebook and the CRM-integrated contacts in parallel — one may have an entry the other doesn't. ### Cross-reference with the PSA or CRM A miss on CRM-integrated contact search means "not synced to this PBX," not "doesn't exist in the CRM." The sync is whatever CRM connector is configured on that specific PBX — confirm the connector is active before concluding a contact genuinely doesn't exist anywhere. ## Gotchas - **Extension lookup is exact-match, not fuzzy.** A partial or slightly-wrong extension number won't resolve — fall back to the user list or a phonebook search instead of retrying the same lookup. - **CRM-integrated results reflect the PBX's own sync, not a live CRM query.** Staleness depends entirely on how that PBX's CRM connector is configured — this skill has no visibility into that connector's refresh interval. ## Related Skills - [API Patterns](../api-patterns/SKILL.md) — connection setup and tool discovery - [Calls, Queues & Profiles](../calls-queues/SKILL.md) — what a resolved contact is doing right now (on a call, in a queue)