Skip to main content
Glama

accelo_list_activities

Retrieve notes, emails, calls, and meetings from Accelo by filtering on against type, owner, medium, or date. Subject search is unsupported; narrow scope, then match subjects client-side.

Instructions

List activities (notes, emails, calls, meetings) from Accelo.

Activities track all communication and time logging. Each activity is recorded 'against' an object (company, job, issue, task, milestone, contract, prospect). To find which company an activity belongs to, resolve via against_type:

  • company → direct

  • job/issue → get object → against_id (company)

  • task/milestone → get object → parent job → company

  • contract/contract_period → get contract → against_id (company)

  • affiliation → get affiliation → company_id

Use fields="against()" to expand the against object inline.

SUBJECT/TEXT SEARCH IS NOT SUPPORTED. Accelo's GET /activities endpoint does NOT honour the _search parameter and exposes NO subject/body filter — passing search (or a subject filter) is silently ignored upstream and returns the deployment's earliest unrelated activities, not matches. This tool therefore rejects search up front rather than issuing a misleading query. To find an activity by subject you MUST narrow scope first, then match the subject client-side over the (small) returned set:

  1. accelo_list_thread_activities(thread_id=...) — the containing email/note thread

  2. accelo_list_activities(filters={"against": {"prospect": [ID]}}) or filters={"against_type": "...", "against_id": ...} — scope to one object

  3. accelo_run_filter(...) — a saved activity filter, if one exists There is no global body/subject text search across all activities.

Args: filters: Filter dict. Keys: id, parent_id, thread_id, against_type, against_id, owner_id, owner_type, medium, visibility, staff, activity_class, activity_priority, task, time_allocation, date_created/logged/started/ended_before/after, order_by_asc/desc. NOTE: there is no subject filter — Accelo does not support one. fields: Additional fields, e.g. "body,staff(),medium,interacts" search: NOT SUPPORTED — Accelo's /activities endpoint ignores _search. Passing a value returns a structured error instead of a silently unfiltered result set. See the tool description for the correct subject-lookup workflow. page: Page number (0-indexed) limit: Results per page (max 100)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
fieldsNo
searchNo
filtersNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so well: it discloses that the upstream GET /activities ignores _search, that this tool rejects `search` up front with a structured error rather than silently returning unrelated data, and it details the against_type resolution chain. It omits auth/permission needs, rate-limit behavior, and return/pagination semantics beyond the page/limit args.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Well front-loaded — scope, the critical search limitation, then the resolution workflow and args. It is long but mostly justified; however the 'search is not supported / no subject filter' warning is repeated three times (body, the anti-pattern block, and the args section), which is redundant. The self-referential 'See the tool description' line inside the description is also noise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a free-form filters object, the description supplies nearly everything needed to call the tool correctly: scope, against-resolution logic, an explicit anti-pattern with workarounds, and parameter details. Minor gap is the shape of the returned activity set and default ordering, which an agent must infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does: it enumerates the allowed filter keys, documents fields syntax with an example ('against()'), explains page is 0-indexed and limit maxes at 100, and flags the absence of a `subject` filter. It covers all five parameters with meaning the bare schema lacks.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('List activities') and enumerates the concrete subtypes (notes, emails, calls, meetings), then explains what an activity is and how it attaches 'against' an object. An agent can distinguish it from siblings such as accelo_list_thread_activities, accelo_get_activity, and accelo_count_activities without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use and when-NOT-to-use guidance: it states plainly that subject/text search is unsupported and then names the alternatives (accelo_list_thread_activities, scoped accelo_list_activities with filters, accelo_run_filter) with the condition that selects each. This is a textbook routing instruction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools