ab_complete_task
ChatGPTMark a task as complete. Always include a note explaining what was done.
ab_create_task
ChatGPTCreate a new task in a project. Always include a note explaining why the task is being created. Call ab_get_project_options first to get valid status, type, and environment IDs.
ab_create_task_option
ChatGPTAdd a status, type or environment to a project — the same lists the project's Status / Types / Environments settings pages edit. It is shared by the whole team's board, so call ab_get_project_options first and reuse an existing option rather than adding a near-duplicate; a name already in use is refused. The new option goes to the end of the list. A note is required.
ab_create_wiki_article
ChatGPTCreate a new wiki article in markdown. Posts a notification to the Teams channel.
ab_crm_add_note
ChatGPTAdd a note to a Lead, Customer, Opportunity, or Contact — use this to log calls, meetings, decisions, and AI actions so the team sees the history.
ab_crm_archive_label
ChatGPTArchive (delete) a label. It disappears from every lead and filter at once; leads themselves are not modified. Confirm with the user first, since this changes the whole team's view.
ab_crm_complete_activity
ChatGPTMark a CRM activity as completed, optionally recording the outcome.
ab_crm_create_activity
ChatGPTSchedule a follow-up activity (Call | Email | Meeting | Note | Task) on a CRM record. It appears in the team's action items.
ab_crm_create_customer
ChatGPTCreate a new customer (e.g. when converting a qualified lead).
ab_crm_create_label
ChatGPTCreate a lead label in the workspace. Refused when a label with the same name already exists; use that one instead.
ab_crm_create_lead
ChatGPTCreate a new lead. Only name is required; leads start in status New (auto-promoted to InformationFilled when name+website+email are all present). Creating a lead consumes one of the organization's monthly new-lead allowance; if the allowance is exhausted the tool refuses and says so.
ab_crm_create_opportunity
ChatGPTCreate an opportunity under a customer or lead. The parent must exist — verify with ab_crm_list_customers / ab_crm_list_leads first.
ab_crm_get_lead
ChatGPTGet one lead in full: profile, AI company research, recent notes, recent emails, and its opportunities. Call before updating or emailing a lead.
ab_crm_get_pipeline
ChatGPTPipeline summary: open opportunities grouped by stage (count, total, weighted amount), workspace totals, and deals closing within 30 days.
ab_crm_get_sales_context
ChatGPTGet the workspace's sales context for drafting on-brand outreach: products (with prices), sales goals, value propositions, and the outbound-email configuration status.
ab_crm_get_win_patterns
ChatGPTMine Closed-Won vs Closed-Lost opportunity history for shared signals: cycle time, deal size, activity cadence, industry, lead source, loss reasons. Needs at least 5 Closed-Won deals to say anything (5 Closed-Lost to include loss-side comparisons) — below that it reports there isn't enough data yet rather than guessing from a handful of deals.
ab_crm_list_activities
ChatGPTList CRM activities (calls, meetings, follow-up tasks). Pass related_type+related_id for one record's activities, or omit them for the planned-activity window (days_back/days_ahead).
ab_crm_list_contacts
ChatGPTList contacts belonging to a customer.
ab_crm_list_customers
ChatGPTList/search customers in a workspace, newest first.
ab_crm_list_emails
ChatGPTList the email thread on a Lead, Customer, or Contact (inbound + outbound), newest first, with previews.
ab_crm_list_labels
ChatGPTList the workspace's lead labels (called tags in some places): id, name and color. Reuse these before creating a new one.
ab_crm_list_leads
ChatGPTList/search leads in a workspace, newest first. Statuses: New, InformationFilled, Contacted, Qualified, Disqualified.
ab_crm_list_notes
ChatGPTList notes on a Lead, Customer, Opportunity, or Contact, newest first.
ab_crm_list_opportunities
ChatGPTList opportunities, soonest expected close first. Status values: Open, Closed-Won, Closed-Lost (omit for all).
ab_crm_send_email_to_lead
ChatGPTSend an email to a lead from the workspace's configured mailbox. REQUIRES the user's explicit confirmation of recipient, subject, and body in this conversation before calling. Refused when the lead is opted out of automation, the workspace automation is paused, or no mailbox is configured. Body is plain text.
ab_crm_update_label
ChatGPTRename or recolor a label. The change shows on every lead that carries it.
ab_crm_update_lead
ChatGPTUpdate a lead's fields, status and/or labels. Call ab_crm_get_lead first. Set automation_opt_out=true to exclude the lead from ALL automated outreach. Labels are added or removed individually; the lead's other labels are kept.
ab_crm_update_opportunity
ChatGPTUpdate an opportunity: move stage, change amount/close date/next step, or close it (close='won' or close='lost' + loss_reason).
ab_crm_workspaces
ChatGPTList the CRM workspaces (organizations) you can use, with lead/contact/opportunity/customer counts. Call this first — its workspace ids are required by every other ab_crm_* tool.
ab_get_my_projects
ChatGPTList all projects you are a member of with stats.
ab_get_my_tasks
ChatGPTGet your tasks: overdue, due today, and in progress. Returns task ID, title, priority, status, due date, progress.
ab_get_project_members
ChatGPTList members of a project with their roles.
ab_get_project_options
ChatGPTGet available statuses, types, and environments for a project. Call this before updating a task's status, type, or environment so you know the valid options.
ab_get_schedule
ChatGPTGet your tasks for today and this week (due dates).
ab_get_task
ChatGPTGet full details of a specific task by project ID and task ID.
ab_get_wiki_article
ChatGPTRead a wiki article's full content, metadata, and version info.
ab_get_wiki_tree
ChatGPTGet the wiki navigation tree (folders and articles) for a project.
ab_link_task_wiki
ChatGPTLink a task to a wiki document (Documents). Bidirectional — appears on both the task and the document. Idempotent.
ab_log_time
ChatGPTLog time you spent on a task: how long, and on which day. It is recorded as yours (marked as logged by AI), adds to the task's total, and shows in the task's change log. Give hours or minutes, not both. Only your own time, and not in a project where you are a Viewer.
ab_search_tasks
ChatGPTSearch tasks by keyword across all your projects.
ab_search_wiki
ChatGPTList wiki articles under a specific folder path.
ab_support_add_note
ChatGPTAdd an INTERNAL note to a ticket, for the desk only. The customer never sees it and it does not move the ticket's status — it is not a reply. Use it to record triage reasoning, context from elsewhere, or what to check next.
ab_support_desks
ChatGPTList the AB Support desks (workspaces) you can use, with open and total ticket counts. Call this first — its desk ids are required by every other ab_support_* tool.
ab_support_draft_reply
ChatGPTDraft a reply to the customer for a person on the desk to review and send. This does NOT send anything — the customer sees nothing until an agent opens the ticket and sends it themselves. The draft becomes the ticket's suggested reply and replaces any earlier one. Write it as the customer should read it; for team-only context use ab_support_add_note instead. Call ab_support_get_ticket first so the draft answers what the customer actually asked.
ab_support_get_customer
ChatGPTOne customer on a desk: their details and their earlier tickets — whether this person has asked before, and what about. The customer_id is on the ticket.
ab_support_get_ticket
ChatGPTRead one ticket in full: header, the customer-visible conversation, the desk's internal notes, the change history, and the AI's unsent suggested reply. Call before updating or answering a ticket.
ab_support_list_tickets
ChatGPTList/search a desk's tickets, most recently active first. Filter by status name or leave it off for all.
ab_support_ticket_statuses
ChatGPTGet the desk's ticket statuses and their ids. Statuses are per desk — a desk renames and reorders its own — so call this before setting one rather than assuming a name like 'Open' exists.
ab_support_update_ticket
ChatGPTTriage a ticket: change its status, assignee and/or priority. A reason is REQUIRED and is written to the ticket's history for the team — this is enforced, not advisory. Call ab_support_ticket_statuses first for valid status ids. Changes nothing the customer sees.
ab_unlink_task_wiki
ChatGPTRemove the link between a task and a wiki document. No-op if they weren't linked.
ab_update_task
ChatGPTUpdate an existing task's properties. Always include a note explaining the reason for the change. Call ab_get_project_options first to get valid status, type, and environment IDs.
ab_update_task_option
ChatGPTRename, recolor, describe or reorder an existing status, type or environment, or change whether a status closes tasks and what progress it sets. Every task using the option shows the change, because tasks refer to its ID. Call ab_get_project_options first for the option_id. Options cannot be deleted here (tasks would be left pointing at nothing). A note is required.
ab_update_wiki_article
ChatGPTUpdate an existing wiki article. Creates a new version with an edit note. Posts a notification to the Teams channel.
ab_whoami
ChatGPTIdentity reflection — returns the email the MCP resolved for this session, your AB user id / display name / tenant, the auth source (stdio-env or http-apikey), and the server version. No input. Use to debug auth or membership issues.