Tool reference · Search and retrieve
count_crm_objects EngageBay MCP tool
Get an exact count of the records that match a filter — contacts, companies, deals, products, tasks, or appointments — without pulling back the records themselves. This is the tool for every “how many…” question.
- Category
- Search and retrieve
- Permission needed
- One per object type — see Permissions below
- Access type
- Read-only
What this tool does
count_crm_objects answers questions that start with “how many.” It takes the same filter grammar as search_crm_objects — the same object types, the same filter_groups, the same operators — but instead of returning the matching records, it returns a single number: how many records matched.
This matters because search_crm_objects returns at most 50 records per page and never includes a total. If you used search results to answer a counting question, the number you'd see is just the size of one page — not the real total. count_crm_objects is built specifically to give you the honest number, in a single call, regardless of how many records actually match.
Leave filter_groups out entirely and it counts every record of the chosen type — useful for a quick “how many contacts do we have in total?”
Not a substitute for reporting. count_crm_objects gives you a single count per request. It doesn't calculate totals such as revenue, or break a count down by owner, month, or stage. For that kind of breakdown, you'd currently run one count per case — for example, once per pipeline stage.
What you can ask
“How many contacts did we add last week?”
“How many tasks are overdue for Priya?”
“How many deals are in the Negotiation stage of the Sales pipeline?”
“How many companies have no website on file?”
“How many contacts do we have in total?”
Permissions
Access is checked per object type, using the same read scopes as search_crm_objects:
| object_type | Permission required |
|---|---|
contact | crm.contacts.read |
company | crm.companies.read |
deal | crm.deals.read |
product | crm.deals.read |
task | crm.tasks.read |
calendar_event | crm.appointments.read |
Less access is handled gracefully. If your connection wasn't granted the permission for a given object type, a count against it returns a clear refusal naming the missing permission — not a zero that looks like a real answer.
Related tools
search_crm_objects— same filter grammar, returns the matching records instead of a count.get_properties— confirms a field's exact key and accepted values before you filter on it.list_pipelines,list_tags, andlist_users— resolve a pipeline stage, a tag spelling, or a person's name into the exact value a filter needs.
More tools
Use count_crm_objects from your AI tool
Connect your AI tool to the EngageBay MCP server and ask in plain language — it calls the right tool for you.