3CX Directory & Contacts

SkillCommunication

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.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 3CX Directory & Contacts skill

What this skill tells your AI

The instructions your AI receives, as published by wyre-ai/msp-claude-plugins in msp-claude-plugins/3cx/3cx/skills/directory/SKILL.md and read by ahel’s review.

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

Signals

GitHub stars
45
Forks
24
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
x-3cx-directory-contacts
Source
github.com/wyre-ai/msp-claude-plugins