ActionBridge exposes two families of MCP tools (Model Context Protocol — the open standard AI assistants use to connect to apps): ab_* tools for AB Projects and ab_crm_* tools for AB Sales. Read tools just return data and change nothing; write tools go through the same path as the app — change history, an audit log entry, and a notification card in the linked Microsoft Teams channel, with AI activity clearly disclosed.
ab_crm_* tools require an AB Sales license in that workspace (separate from Projects). See Managing Subscriptions and Billing.Legend: read returns data only · write changes data (audited + posted to Teams). To set up a connection in the first place, see Connecting AI Assistants via MCP.
AB Projects tools
These work with projects, tasks, the schedule, and the project Documents (wiki). Most take a project_id — get it from ab_get_my_projects.
Projects & identity
| Tool | What it does | Key inputs |
|---|---|---|
ab_get_my_projectsread | Lists every project you're a member of, with stats such as task counts. | None |
ab_get_project_membersread | Lists a project's members with their roles and membership IDs — the ID needed to assign a task. | project_id |
ab_get_project_optionsread | Returns the valid status, type, and environment IDs for a project. Assistants should call it before setting any of those on a task. | project_id |
ab_whoamiread | Identity check: the email the server resolved for this session, your AB user ID, display name, tenant, how you're authenticated, and the server version. Useful when auth or membership looks wrong. | None |
Tasks & schedule
| Tool | What it does | Key inputs |
|---|---|---|
ab_get_my_tasksread | Your active tasks — overdue, due today, and in progress — with ID, title, priority, status, due date, and progress. | project_id (optional filter) |
ab_search_tasksread | Searches tasks by keyword across all your projects. | query; project_id (optional) |
ab_get_taskread | Full details of one task, including recent comments. | project_id, task_id |
ab_get_scheduleread | Your tasks for today and this week, by due date. | project_id (optional) |
ab_create_taskwrite | Creates a task. Supports description (Markdown), priority (1=High, 2=Medium, 3=Low), assignee, due date, status/type/environment IDs, parent_task_id (makes it a subtask), and depends_on_task_ids (finish-before-start dependencies; cycles are rejected). The note explains why — it appears in the change log and Teams card. | project_id, title |
ab_update_taskwrite | Updates a task's title, description, status, progress (0–100), priority, assignee, type, environment, parent, start/due dates, estimate hours, or dependencies (add_predecessors / remove_predecessors). Each change is recorded with the provided note. | project_id, task_id |
ab_complete_taskwrite | Marks a task complete with a completion note. | project_id, task_id |
ab_add_commentwrite | Adds a comment to a task's thread. | project_id, task_id, content |
Documents (wiki)
| Tool | What it does | Key inputs |
|---|---|---|
ab_get_wiki_treeread | The Documents navigation tree (folders and pages) for a project. | project_id |
ab_get_wiki_articleread | Reads one document's full content, metadata, and version info. | project_id, article_id |
ab_search_wikiread | Lists the documents under a folder path (despite the name, it browses a folder rather than searching by keyword). | project_id; parent_path (default /) |
ab_create_wiki_articlewrite | Creates a document in Markdown, optionally in a folder and with tags. | project_id, title, content |
ab_update_wiki_articlewrite | Updates a document, creating a new version. The required edit_note shows in version history. | project_id, article_id, content, edit_note |
ab_add_wiki_commentwrite | Adds a comment to a document. | project_id, article_id, content |
ab_link_task_wikiwrite | Links a task to a document. The link is bidirectional — it appears on both — and calling it twice is harmless. | project_id, task_id, wiki_article_id |
ab_unlink_task_wikiwrite | Removes a task–document link; does nothing if they weren't linked. | project_id, task_id, wiki_article_id |
AB Sales (CRM) tools
These work with your sales pipeline. Almost every one takes a workspace_id — call ab_crm_workspaces first to get it.
Discover
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_workspacesread | Lists the CRM workspaces you can use, with lead/contact/opportunity/customer counts. Call this first — every other CRM tool needs its workspace IDs. | None |
ab_crm_get_sales_contextread | The workspace's sales context for drafting on-brand outreach: products with prices, sales goals, value propositions, and whether outbound email is configured. | workspace_id |
ab_crm_get_pipelineread | Pipeline summary: open opportunities by stage (count, total, weighted amount), workspace totals, and deals closing within 30 days. | workspace_id |
Leads
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_list_leadsread | Lists or searches leads, newest first. Statuses: New, InformationFilled, Contacted, Qualified, Disqualified. | workspace_id; optional status, source, query, limit |
ab_crm_get_leadread | One lead in full: profile, AI company research, recent notes, recent emails, and its opportunities. Assistants call it before updating or emailing a lead. | workspace_id, lead_id |
ab_crm_create_leadwrite | Creates a lead — only a name is required. Leads start in New and are auto-promoted to InformationFilled once name, website, and email are all present. | workspace_id, name; optional email, website, contact, phone, industry, source, notes |
ab_crm_update_leadwrite | Updates a lead's fields and/or status. Setting automation_opt_out=true excludes the lead from all automated outreach. | workspace_id, lead_id |
Customers, contacts & opportunities
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_list_customersread | Lists or searches customers, newest first. | workspace_id; optional search, limit |
ab_crm_create_customerwrite | Creates a customer — typically when converting a qualified lead. | workspace_id, name |
ab_crm_list_contactsread | Lists the contacts belonging to one customer. | workspace_id, customer_id |
ab_crm_list_opportunitiesread | Lists opportunities, soonest expected close first. Statuses: Open, Closed-Won, Closed-Lost. | workspace_id; optional status, limit |
ab_crm_create_opportunitywrite | Creates an opportunity under a customer or a lead (the parent must already exist). | workspace_id, parent_type (Customer/Lead), parent_id, name; optional amount, currency, expected close |
ab_crm_update_opportunitywrite | Moves the stage, changes amount / expected close / next step, or closes the deal with close='won' or close='lost' (a loss reason is required when losing). | workspace_id, opportunity_id |
Activities, notes & email
| Tool | What it does | Key inputs |
|---|---|---|
ab_crm_list_activitiesread | Lists activities (calls, meetings, follow-up tasks) — either one record's activities, or the planned window around today. | workspace_id; optional related_type+related_id, days_back/days_ahead |
ab_crm_create_activitywrite | Schedules a follow-up (Call, Email, Meeting, Note, or Task) on a lead, customer, opportunity, or contact. Shows up in the team's action items. | workspace_id, related_type, related_id, subject |
ab_crm_complete_activitywrite | Marks an activity completed, optionally recording the outcome. | workspace_id, activity_id |
ab_crm_add_notewrite | Adds a note (Markdown supported) to a lead, customer, opportunity, or contact — the way to log calls, decisions, and AI actions for the team. | workspace_id, parent_type, parent_id, text |
ab_crm_list_notesread | Lists a record's notes, newest first. | workspace_id, parent_type, parent_id |
ab_crm_list_emailsread | The email thread on a lead, customer, or contact (inbound and outbound), newest first, with previews. | workspace_id, parent_type, parent_id |
ab_crm_send_email_to_leadwrite | Sends a plain-text email to a lead from the workspace's configured mailbox. The assistant must confirm recipient, subject, and body with you first, and the send is refused when the lead has opted out of automation, workspace automation is paused, or no mailbox is configured. | workspace_id, lead_id, subject, body |
The exact parameter schema for each tool is always available from the tool itself; the inputs above are a guide, not an exhaustive contract.
Prompts — ready-made slash commands
Besides tools, the server publishes MCP prompts: templates that appear as slash commands in clients that support them (Claude, ChatGPT, Cursor, …). Each one expands into instructions that drive the tools above — you get a polished result without writing the request yourself.
| Prompt | What it produces | Arguments |
|---|---|---|
ab-standup | A daily standup brief: overdue, due today, and in progress. | project_id (optional) |
ab-weekly-review | A weekly review: what shipped, what slipped, what's at risk next week. | project_id (optional) |
ab-create-task | Guided task creation from a natural-language intent — it fetches the valid options, proposes title/priority/due date, then creates the task. | project_id, intent |
ab-find-blocked | Tasks that look blocked, grouped by project, longest-blocked first. | project_id (optional) |
ab-wiki-recap | A recap of the most recently edited Documents in a project. | project_id |
Resources — pullable feeds
MCP resources are read-only feeds a client can attach as background context without a tool call:
| Resource | Contents |
|---|---|
ab://me/today | Tasks due today across every project you're a member of. |
ab://me/week | Tasks due in the next 7 days, plus today. |
ab://me/projects | Your projects, with stats. |
ab://project/…/overview | One per project: open tasks, members, and recent activity. |
How AI changes stay visible
When a record is created, updated, or completed through an MCP write tool, ActionBridge automatically:
- records the change in the item's change history (AB Projects) or record trail (AB Sales) with your name and the provided note,
- writes an operation-log entry for audit purposes, and
- posts or updates a card in the linked Microsoft Teams channel, with the activity clearly disclosed as AI-generated.
AI-driven changes carry exactly the same visibility and traceability as changes made by hand in the app.