Gambot WhatsApp Business API
Send WhatsApp messages & templates and manage CRM, leads & campaigns via the Gambot WhatsApp API.
Connector by gambot-ai · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying Gambot WhatsApp Business API?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/gambot-ai-gambot-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 70 read · 60 write · 6 delete · 13 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 149
Read from the source code; the running server may list different tools.
Read 70 · Look things up without changing anything.
gambot_analytics_transcriptgambot_check_organizationgambot_check_windowgambot_get_aigambot_get_botgambot_get_bot_packagegambot_get_campaigngambot_get_campaign_resultsgambot_get_casegambot_get_case_fieldsgambot_get_contactgambot_get_contact_fields
Show 58 more tools
gambot_get_conversation_messagesgambot_get_documentgambot_get_document_submissionsgambot_get_email_campaigngambot_get_entity_notesgambot_get_formgambot_get_form_linkgambot_get_form_submissionsgambot_get_invoicegambot_get_leadgambot_get_lead_fieldsgambot_get_message_statusgambot_get_onboarding_statusgambot_get_ordergambot_get_quotegambot_get_signaturegambot_get_signature_linkgambot_get_taskgambot_get_templategambot_get_template_audiencegambot_get_template_variablesgambot_get_transactiongambot_get_usergambot_get_waba_connect_linkgambot_get_webhookgambot_list_aigambot_list_botsgambot_list_calendar_eventsgambot_list_campaignsgambot_list_case_slagambot_list_casesgambot_list_connectionsgambot_list_contactsgambot_list_conversation_categoriesgambot_list_conversation_slagambot_list_conversationsgambot_list_ctwa_contactsgambot_list_documentsgambot_list_email_campaignsgambot_list_facebook_lead_connectionsgambot_list_facebook_lead_formsgambot_list_formsgambot_list_invoicesgambot_list_leadsgambot_list_notesgambot_list_numbersgambot_list_ordersgambot_list_quotesgambot_list_scheduled_campaignsgambot_list_scheduled_runsgambot_list_signaturesgambot_list_tagsgambot_list_tasksgambot_list_templatesgambot_list_transactionsgambot_list_usersgambot_search_available_numbersgambot_verify_onboarding_code
Write 60 · Create, change, send or run things.
gambot_add_notegambot_add_payment_methodgambot_analytics_ctwagambot_analytics_messagesgambot_bulk_update_contactsgambot_bulk_update_leadsgambot_create_aigambot_create_botgambot_create_campaigngambot_create_casegambot_create_contactgambot_create_document_link
Show 48 more tools
gambot_create_email_campaigngambot_create_facebook_lead_botgambot_create_invoicegambot_create_keyword_autoreplygambot_create_leadgambot_create_menu_botgambot_create_ordergambot_create_paid_accountgambot_create_payment_linkgambot_create_quotegambot_create_taskgambot_create_templategambot_create_template_button_autoreplygambot_create_trial_accountgambot_create_usergambot_deploy_bot_packagegambot_disable_usergambot_enable_usergambot_mark_contact_spamgambot_register_webhookgambot_reschedule_scheduled_rungambot_run_campaigngambot_run_email_campaigngambot_send_campaigngambot_send_campaign_from_excelgambot_send_emailgambot_send_onboarding_verificationgambot_send_templategambot_send_textgambot_set_bot_statusgambot_set_contact_categorygambot_set_contact_consentgambot_set_conversation_statusgambot_setup_whatsapp_integrationgambot_skip_scheduled_rungambot_test_campaigngambot_update_aigambot_update_campaigngambot_update_casegambot_update_contactgambot_update_invoicegambot_update_leadgambot_update_notegambot_update_ordergambot_update_quotegambot_update_taskgambot_update_usergambot_upload_template_media
Delete 6 · Delete, drop, revoke or wipe things.
gambot_bulk_update_tagsgambot_delete_botgambot_delete_campaigngambot_delete_usergambot_delete_webhookgambot_update_contact_tags
Not yet classified 13 · We could not tell from the name and description.
gambot_analytics_botsgambot_analytics_casesgambot_analytics_contactsgambot_analytics_daily_conversationsgambot_analytics_leadsgambot_analytics_overviewgambot_analytics_summarygambot_analytics_tasksgambot_exchange_waba_tokengambot_generate_organization_namegambot_get_conversation_slagambot_issue_invoice
Show 1 more tools
gambot_test_webhook
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
GAMBOT_TOKEN
Other settings (environment variables or headers).
GAMBOT_API_BASE
Network hosts it talks to 8
agent-plugins.org· found in codeapi.gambot.co.il· found in codeapp.gambot.co.il· found in codegambot-mcp.azurewebsites.net· found in codegambot.co.il· found in codegithub.com· found in codex.co· found in codeyour-server.com· found in code
Files it touches
- Any path the agent passes to its tools
Tools (149)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
gambot_add_noteAdd a note to a contact / lead / caseWrite a note (הערה) on a contact, lead or case — the same internal timeline note a user adds in the app (NOT a WhatsApp message to the customer). entityType is 'contact' (entityId = the contact's phone number), 'lead' or 'case' (entityId = the record id). The note is stored on THAT record, shows in its timeline immediately, and — when the organization's 'Sync Notes Between Entities' setting is on (default) — also appears in the related records' timelines (a note on a lead shows on the lead's contact, and vice-versa). The record must already exist. Shown as authored by 'Gambot MCP'. Returns { i…
gambot_add_payment_methodAdd payment method (card on file)Verify a card with the clearing provider (Tranzila) and save its token to an organization, so an AI agent with the customer's card can put a payment method on file without the hosted page. The raw card is sent only to the PCI-compliant clearing provider and never stored. For a hosted alternative (customer types the card), use gambot_create_payment_link.
gambot_analytics_botsBots / automations analyticsWhatsApp bot / automation performance for a period: totalRuns, completedRuns, activeRuns, failedRuns, completionRate (%), uniqueContacts engaged, and a per-bot breakdown (byBot: botId, name, status, runs, completed, active, failed, uniqueContacts) sorted by run volume. Also reports botsConfigured (total/active/bots). Use for 'how are my bots doing', 'which bot ran the most', 'bot completion rate this month'. Use gambot_list_bots for the bot catalog and gambot_get_bot for one bot's full definition.
gambot_analytics_casesSupport tickets (פניות) analyticsSupport tickets / פניות for the period: created, closed, resolved, still-open, SLA compliance and a breakdown by stage. ('cases' is Gambot's internal name for פניות / inquiries / tickets.)
gambot_analytics_contactsContacts analyticsNew contacts in the period, how many came from CTWA (Click-to-WhatsApp ads), and a breakdown by creation method (manual / incoming_message / api / ...).
gambot_analytics_ctwaCTWA (Click-to-WhatsApp) analyticsClick-to-WhatsApp ad performance: the unique ads that drove conversations (id + headline), and how many new contacts in the period came from CTWA ads.
gambot_analytics_daily_conversationsDaily message time seriesA day-by-day time series of inbound / outbound / AI messages across a range (default: last 30 days). Ideal for charts and trends.
gambot_analytics_leadsLeads / sales pipeline analyticsSales pipeline snapshot: open / won / lost this month, total pipeline value, and breakdowns by stage, source and user (salesByUser).
gambot_analytics_messagesMessage volume analyticsWhatsApp message volume for a period: total, incoming, outgoing, how many were sent by bots vs humans, and a per-agent breakdown (byAgent) — how many messages each user sent. Use for 'how many messages went out today', 'inbound vs outbound this month', 'who sent the most messages'.
gambot_analytics_overviewLifetime message overviewLifetime WhatsApp totals (total / sent / received / delivered / read / failed) plus a last-6-months trend. Cheap (served from a cached view). Use for all-time totals or a monthly trend chart; for a specific period use gambot_analytics_messages.
gambot_analytics_summaryAnalytics summary (KPIs)One-shot KPI snapshot for a period: WhatsApp message volume (incoming/outgoing + per-agent breakdown), new contacts (incl. from CTWA ads), leads (created/won/open), support tickets (פניות: created/closed/open), tasks (created/completed/open/overdue) and bots (runs/completed/active/failed/completionRate). USE THIS to answer 'how are we doing today / this month', 'how many messages did we send', 'how many new leads', etc. Set userId to scope to a single team member; omit it to get the whole org (the per-agent breakdown still shows each user).
gambot_analytics_tasksTasks analyticsTask KPIs: totals, open / in-progress / completed / overdue, and breakdowns by priority, category and assignee. Set userId to scope to one assignee.
gambot_analytics_transcriptConversation transcript feed (message content)Read the ACTUAL message CONTENT across ALL conversations for a time window (default: today) as a flat, time-ordered feed. Each message has: time, phone, contactName, direction (incoming=from the customer / outgoing=from the team or bot), sender (customer name, agent name, 'Gambot AI', 'Gambot MCP', …), senderId, type, messageType and text. THIS is the tool for QUALITATIVE questions about conversations — e.g. 'how did my employees reply today?', 'which customers seem upset / frustrated?', 'summarize today's chats', 'did anyone ask about prices / cancel?', 'how did agent X handle their chats?'. …
gambot_bulk_update_contactsBulk update contacts (preview → confirm)Update MANY contacts in ONE call — e.g. 'tag every contact created this week whose name contains לקוח with דיוור', reassign an owner, set a category/consent, or write a custom field across a whole segment. Audience: `phones` (explicit) and/or `filter` { search, tag, status, category, ownerId, includeSpam, createdFrom, createdTo (yyyy-MM-dd, on the creation date) }. Change: `fields` { addKeys[], removeKeys[], ownerId, ownerName, category, consent, isSpam, customFields{} }. ⚠️ ALWAYS TWO STEPS — CONFIRM FIRST: call with confirm=false (default) to PREVIEW; it returns { requiresConfirmation:true, …
gambot_bulk_update_leadsBulk update leads (preview → confirm)Update MANY leads in ONE call — e.g. move a segment to a stage, change status/priority/owner, or write a custom field across many leads. Audience: `ids` (explicit lead ids) and/or `filter` { search, createdFrom, createdTo (yyyy-MM-dd on createdOn) }. Change: `fields` — any base lead field (status, stageId, priority, ownerId, ownerName, source…) plus nested customFields{} (merged, never wiped). ⚠️ ALWAYS TWO STEPS — CONFIRM FIRST: call with confirm=false (default) to PREVIEW; it returns { requiresConfirmation:true, count, change, willAffect:[{id,title,contactName,createdOn}] } and changes NOTHI…
Show 134 more tools
gambot_bulk_update_tagsBulk add / remove tagsAdd and/or remove TAGS across MANY contacts at once (merging with each contact's existing tags). Choose the audience with `phones` (explicit list) and/or `fromTag` (apply to every contact that currently has that tag — e.g. re-tag a whole group). Provide `add` and/or `remove`. Returns { requested, updated, notFound }. Great for 'tag everyone in group A as B', 'remove tag X from these numbers', bulk segmentation, etc.
gambot_check_organizationCheck organization (onboarding)Check whether an organization already exists for a company + tax id (ח.פ/ת.ז), and whether an incomplete onboarding can be resumed. Use before creating a new trial.
gambot_check_windowCheck 24h messaging windowCheck whether the 24-hour WhatsApp customer-service window is OPEN for a contact BEFORE you message them. WhatsApp only allows free text while the window is open (i.e. the contact messaged you in the last 24h); once it's CLOSED you MUST use an approved template. Call this whenever you're about to send a one-off message and aren't sure the conversation is active — then route accordingly: windowOpen=true → gambot_send_text (or a template); windowOpen=false → gambot_send_template (list options with gambot_list_templates). Returns { phone, windowOpen, canSendFreeText, requiresTemplate, reason, rec…
gambot_create_aiCreate Gambot AI modelCreate a NEW Gambot AI brain. Only do this if the org has none (check gambot_list_ai first — most orgs already have one auto-built from their website). After creating, wire it to a botomation whose trigger is contactOwner == 'Gambot AI' (built in the Bot Builder app) and route contacts by assigning owner = 'Gambot AI'.
gambot_create_botCreate bot (advanced, full step schema)Advanced: create a bot from a full botomation object when the high-level builders aren't enough. steps[]: step 1 is the trigger (action 'IncomingMessage', …), the rest are actions ('SendMessage','switchCase','Condition','GambotAi','Delay','GambotAction',…). Use {{Step_1_PhoneNumber}} / {{Step_1_Message}} placeholders. ── STEP CONFIG FEATURES you can set (parity with the visual Bot Builder): • On a REGULAR IncomingMessage trigger config → aiContextGate:{enabled:true,prompt,model:'gpt-4o-mini',onExhausted:'advance'} for an on-topic CONTEXT check ('בדיקת הקשר'). • On a REGULAR SendMessage config …
gambot_create_campaignCreate campaignCreate a SAVED WhatsApp broadcast campaign. Use this whenever the send should be a campaign — i.e. ANY scheduled send (one-time OR recurring is ALWAYS a campaign), or a reusable CRM-segment broadcast. For a plain immediate send to a tag/list use gambot_send_campaign; for an Excel/CSV sheet use gambot_send_campaign_from_excel (which also saves a campaign). After creating, run it now with gambot_run_campaign (scheduled ones run automatically at runAt). For a template broadcast set messageType='Template' + wabaTemplateId; for free text set messageType='regular' + message (note: a 'regular' broadc…
gambot_create_caseCreate caseCreate a case (support ticket / פנייה). Accepts base fields plus a nested 'customFields' object.
gambot_create_contactCreate contactCreate a contact (returns the existing one if the phone is already known). Custom/dynamic fields go under 'customFields' (see gambot_get_contact_fields for keys). ── MARKETING COMPLIANCE — always consider these when creating a contact: • consent ('הסכמה לדיוור'): set consent=true ONLY when the person actually agreed to receive marketing (they ticked a box / said yes / signed up). Set consent=false to record an opt-out. If you don't know, OMIT it — never assume true. consent=false contacts are auto-excluded from every broadcast. • source ('מקור'): where the contact/consent came from (e.g. 'webs…
gambot_create_document_linkCreate document template fill linkGenerate a distributable fill link for a document template. A template has no single static link (each customer fills their own copy), so this creates a fill-only instance and returns its public /form/ URL to share with the customer. Optionally pre-fill variables via contactPhone/leadId/variables.
gambot_create_email_campaignCreate email campaignCreate an email marketing campaign. Content: either a saved templateId, or inline subject+body. Audience: a CRM segment via contactFilters ({ filters:[…], logic:'AND' }) OR an explicit excelRecipients list ([{ email, name, variables }]). Pass run=true to create AND send immediately in one call. Sends on the same durable, resumable engine as the app (safe for large lists, no duplicates).
gambot_create_facebook_lead_botCreate Facebook lead auto-reply botCreate a bot that auto-replies the moment a new lead arrives from a Facebook/Meta lead form. Provide a connectionId (from gambot_list_facebook_lead_connections) and a reply (replyTemplateName or replyText). Optionally restrict to specific formIds (from gambot_list_facebook_lead_forms; blank ⇒ any form on the page). The reply is sent to the lead's WhatsApp; lead fields are available as placeholders like {{Step_1_facebook_lead_data_full_name}}.
gambot_create_invoiceCreate invoiceCreate an invoice draft. invoiceData holds the invoice fields.
gambot_create_keyword_autoreplyCreate keyword auto-reply botCreate a bot that automatically replies to an incoming WhatsApp message. Trigger on specific keyword(s) (matchType 'equals' or 'contains') or on ANY incoming message (anyMessage=true). The reply is an approved template (replyTemplateName) or free text (replyText — only delivers inside the 24h service window). ── OPTIONAL ENHANCEMENTS (regular/free-text replies only — full parity with the visual Bot Builder): • contextCheck: verify the incoming reply is on-topic before advancing ('בדיקת הקשר') — pass contextPrompt to define what counts as in-context (auto-defaulted if omitted). • aiCompose: ins…
gambot_create_leadCreate leadCreate a CRM lead (contact created if missing, optional template send). Accepts all base lead fields plus a nested 'customFields' object. See gambot_get_lead_fields for available fields.
gambot_create_menu_botCreate menu botCreate a menu bot: an opening template with quick-reply buttons that route each tap to a reply. Provide openingTemplateName and options (each button + its reply template/text). Start the menu for a contact by sending the opening template (e.g. via a campaign). Each option's free-text reply can be enhanced (Bot Builder parity): aiCompose + aiComposePrompt (Gambot AI phrases it live) and outsideHoursMessage (different text outside business hours). Add reminders[] to send follow-ups on the primary/main flow if the contact goes quiet ('תזכורות בפלואו הראשי').
gambot_create_orderCreate orderCreate a store order. Body holds order fields (customer, items, total…).
gambot_create_paid_accountCreate paid account (no trial, card required)Create a new organization that goes STRAIGHT TO PAID — no free trial month. A payment method is MANDATORY: pass a `card` object; the card is verified with the clearing provider, its token is saved, and billing starts immediately (first charge on the next billing run). Use this when an AI agent has the customer's card and should provision a paying account in one call. Same number options and the same graceful companyInfo.timezone/country handling as gambot_create_trial_account (neither hard-fails). The raw card is sent only to the PCI-compliant clearing provider and never stored.
gambot_create_payment_linkCreate payment linkBuild a secure hosted payment link (Tranzila) to add a card for an organization. Card data is never handled by the API — share the URL with the customer; the card token is saved on success.
gambot_create_quoteCreate quoteCreate a price quote. quoteData holds the quote fields (title, items, total, contact…).
gambot_create_taskCreate taskCreate a task (optionally linked to a contact via contactPhone).
gambot_create_templateCreate templateCreate a new WhatsApp template (submitted to Meta for approval). Name must be English, lowercase_with_underscores. Components use the full Meta shape and support: a TEXT or media (IMAGE/VIDEO/DOCUMENT) HEADER, a BODY with {{1}} variables, a FOOTER, and BUTTONS (QUICK_REPLY / URL / PHONE_NUMBER). For a media header you can either put example.header_handle on the HEADER component yourself (upload it first with gambot_upload_template_media), or simply pass headerMediaUrl (a public URL) and let Gambot upload it and inject the handle. ── SMART GUIDANCE — Gambot enriches your template automatically,…
gambot_create_template_button_autoreplyCreate auto-reply on template button clickCreate a bot that reacts when a contact taps a quick-reply BUTTON on a template you sent (e.g. after a campaign). For each button give the reply (template or text) — perfect for 'when they click X, send Y'. The button title must match the template's button exactly.
gambot_create_trial_accountCreate trial accountCreate a new FREE-TRIAL organization + first user (no card required). Login credentials (temp password) are emailed & WhatsApp'd to the contact. WhatsApp/number options: useFreeNumber (Meta test number) · useCoexisting (existing WhatsApp Business number in simInfo.simNumberEntered) · BYO SIM (the customer's own number in simInfo.simNumberEntered) · Buy a SIM from us (simInfo.purchaseInTwilio=true + simInfo.selectedSimNumber from gambot_search_available_numbers). GLOBAL: send companyInfo.timezone (IANA) and companyInfo.country (ISO-3166 alpha-2) — they drive scheduling and locale. Neither hard-…
gambot_create_userCreate (invite) userCreate an organization user (team member). Sends a welcome email + WhatsApp invite.
gambot_delete_botDelete botDelete a bot/automation by id.
gambot_delete_campaignDelete campaignDelete a campaign by id.
gambot_delete_userDelete userPermanently delete an organization user (removes both the auth account and the profile). This is irreversible — prefer gambot_disable_user to just deactivate access.
gambot_delete_webhookUnregister webhookDisable event forwarding (stop POSTing events to the registered URL). The URL/settings are kept on file, so re-enabling later is a single gambot_register_webhook call.
gambot_deploy_bot_packageDeploy a complete bot (main + activator + human-intervention cancel)Deploy a WHOLE bot in one call — the way the Bot Builder does it — instead of wiring pieces separately. It creates, in order: (1) the MAIN bot, (2) its ACTIVATOR (מפעיל — the trigger that starts it), and (3) the HUMAN-INTERVENTION CANCEL (ביטול בוט בהתערבות אנושית — stops the bot the instant a human agent replies), all linked by one sourceFlowId so they turn on/off together. botType 'menu' = an opening template with quick-reply buttons routed to replies (needs openingTemplateName + options; the activator SENDS that opening template to start the bot). botType 'keyword' = reply to a keyword/any …
gambot_disable_userDisable userDisable a user (status = inactive).
gambot_enable_userEnable userEnable a user (status = active).
gambot_exchange_waba_tokenExchange Meta code (connect WhatsApp)Complete Meta Embedded Signup by exchanging the authorization code returned by the Facebook popup. Registers the WABA, subscribes webhooks and registers the phone number.
gambot_generate_organization_nameGenerate organization nameGenerate a unique organization name from a company name + tax id (adds a suffix if taken).
gambot_get_aiGet Gambot AI modelGet one Gambot AI brain with its full configuration (purpose, tone, instructions, language, Q&A).
gambot_get_botGet botGet a single bot/automation with its full step definition (trigger + actions).
gambot_get_bot_packageGet bot packageReturn every botomation deployed together with this one (they share a sourceFlowId): the main bot plus its activator (the trigger, מפעיל), the human-intervention cancel (ביטול בוט בהתערבות אנושית), the Gambot AI answerer and any return-to-menu helper. Use this to see the WHOLE bot before turning it on/off. If the bot has no sourceFlowId, returns just that bot.
gambot_get_campaignGet campaignGet a single campaign by id.
gambot_get_campaign_resultsGet campaign resultsGet the run results/report for a campaign (sent/delivered/read/replies/clicks).
gambot_get_caseGet caseGet a single case by id.
gambot_get_case_fieldsGet case fieldsGet case (פנייה) field definitions: { baseFields, customFields }. Custom case values are stored under a nested 'customFields' map — pass them the same way on create/update.
gambot_get_contactGet contactFetch a contact by phone number. The response carries the contact's MARKETING-CONSENT status: • consent=true → opted-in to marketing ('הסכמה לדיוור'); consent=false → opted-out/unsubscribed ('ביקש/ה הסרה', auto-excluded from broadcasts); consent=null → unknown/never set (still mailable). • isSpam=true → marked as spam/blocked (also auto-excluded). It also returns the contact's tags (`keys`), conversation status (`lastConversationStatus`: Open/In Process/Closed) and category (`lastConversationCategory`). Use gambot_set_contact_consent to opt a contact in/out, and gambot_mark_contact_spam to fla…
gambot_get_contact_fieldsGet contact fieldsGet contact field definitions (base + custom/dynamic). Contacts store custom values as top-level keys — pass them via 'customFields' on create/update.
gambot_get_conversation_messagesGet conversation messagesRead the full message HISTORY (content) of ONE conversation, identified by the contact's phone, newest-first and paginated with before/after cursors. Use this to see everything said with a specific customer. For just the LIST of conversations/contacts (no content) use gambot_list_conversations; for message content across ALL conversations in a period use gambot_analytics_transcript.
gambot_get_conversation_slaGet conversation response SLAMessage-response SLA status for ONE conversation: is the customer currently waiting for a reply, for how many minutes, and at what level (ok/warn/breach). Returns { phone, name, lastMessageDirection, lastMessageTime, lastConversationStatus, waiting, waitingMinutes, level, ownerId, ownerName, config }.
gambot_get_documentGet document templateGet a single document template.
gambot_get_document_submissionsGet document template submissionsGet fill-only submissions generated from a document template.
gambot_get_email_campaignGet email campaignGet a single email campaign by id.
gambot_get_entity_notesGet notes for one recordRead the notes (הערות) attached to a single record. entityType is 'contact', 'lead' or 'case': for 'contact' pass the contact's phone number as entityId; for 'lead'/'case' pass the record id. By default this follows the organization's 'Sync Notes Between Entities' setting (ON by default): a contact also returns the notes written on its leads and cases, and a lead/case also returns its contact's notes — exactly what the user sees in the app's timeline. Pass includeRelated=false to get ONLY the notes stored on that exact record. Returns the notes newest-first (each with id, note, createdOn, crea…
gambot_get_formGet web formGet a single web form definition.
gambot_get_form_linkGet web form public linkGet the stable public shareable link for a web form. Distribute it to customers via WhatsApp/email/SMS/QR; all submissions land in the form's submissions.
gambot_get_form_submissionsGet web form submissionsGet submissions (results) for a web form.
gambot_get_invoiceGet invoiceGet a single invoice by id.
gambot_get_leadGet leadGet a single lead by id.
gambot_get_lead_fieldsGet lead fieldsGet lead field definitions: { baseFields, customFields }. Custom lead values are stored under a nested 'customFields' map — pass them the same way on create/update.
gambot_get_message_statusGet WhatsApp message delivery statusCheck whether a message you sent was delivered. Pass the messageId returned by gambot_send_text / gambot_send_template (or per recipient from a campaign send) and, for a fast exact lookup, the recipient's phone. Returns { messageId, phone, status (sent|delivered|read|failed), time, errorMessage? }. Use it as the final step of 'send a first test message' and whenever a user says 'I don't see the message arrived'. If status=failed with Meta error 131042 the response carries a paymentIssue block: the WhatsApp Business API payment method is SEPARATE from the Meta Ads one — tell the user to add one…
gambot_get_onboarding_statusGet onboarding statusCheck where an organization is in onboarding: whether the account exists, a card is on file, and WhatsApp (WABA) is connected. Use this to POLL after create-trial (Meta Embedded Signup finishes in the browser, not in the agent). Returns { accountCreated, cardOnFile, wabaConnected, status (not_found|account_created|connected), wabaConnectUrl, paymentUrl, nextStep }. Public — works without a token.
gambot_get_orderGet orderGet a single order by id.
gambot_get_quoteGet quoteGet a single quote by id.
gambot_get_signatureGet signature documentGet a single e-signature document, including its signing results.
gambot_get_signature_linkGet signature signing linkGet the signing link(s) to distribute for an existing signature document (one per signer). Share with signers via WhatsApp/email/SMS.
gambot_get_taskGet taskGet a single task by id.
gambot_get_templateGet templateGet a single template by id, including Meta approval status.
gambot_get_template_audienceSegment a template's audience by button clickReturn the list of contact phone numbers for a TEMPLATE, segmented by how each contact interacted with a button — measured ACROSS ALL SEND SOURCES (bot flows, campaigns/broadcasts, manual agent sends, and the API/MCP). THIS is the tool for 'send to everyone who clicked button X on template T', 'who received T but never pressed X', or 'who did we send T to'. It unifies URL/CTA button clicks (tracked links) AND quick-reply button replies (the common bot case), so you don't have to know which send channel or button type was used. modes: 'clicked' = pressed the button; 'not_clicked' = received the…
gambot_get_template_variablesGet template variablesGet the dynamic variables of a template.
gambot_get_transactionGet payment transactionGet a single payment transaction by id (Firestore document id or the provider transactionId), including the full amount breakdown (amount, amountBeforeVat, vatInclusive, discount), status, customer details, linked record and items[].
gambot_get_userGet userGet a single user by id.
gambot_get_waba_connect_linkGet WhatsApp (WABA) connect linkGet the hosted page URL where the customer completes Meta Embedded Signup (the Facebook popup) to connect their WhatsApp Business account. REQUIRES AN EXISTING ACCOUNT: call gambot_create_trial_account FIRST (no key/form needed) and pass the exact organizationName it returned — never invent one (a non-existent organization is refused with ORGANIZATION_NOT_FOUND). The create call already returns wabaConnectUrl, so you normally don't need this tool right after creating.
gambot_get_webhookGet webhook registrationReturn the organization's current event-forwarding webhook: whether it's enabled, the destination url, whether an auth header is set, and which event types are forwarded.
gambot_issue_invoiceIssue invoiceIssue an invoice — locks it and assigns the official document number.
gambot_list_aiList Gambot AI modelsList the organization's Gambot AI 'brains' (how the AI answers: purpose, tone, language, Q&A count). Most orgs already have one auto-built from their website at signup — find it here before creating a new one. Pair a brain with its botomation via gambot_list_bots (role 'gambot_ai').
gambot_list_botsList botsList the organization's bots & chat automations (botomations). Pass botsOnly=true for only the visual menu/AI bots. Each item includes role (main_bot | activator | gambot_ai | human_intervention_cancel | return_to_menu | automation), triggerKind, sourceFlowId and linkedBotomationId — botomations sharing a sourceFlowId form ONE deployed bot 'package' (main bot + activator + human-intervention cancel + Gambot AI).
gambot_list_calendar_eventsList calendar eventsList calendar events in a date range from a connected Google/Microsoft calendar (Settings → Connections). Pass provider ('google'/'microsoft' or a connection id; blank ⇒ first connected calendar) and an optional startDate/endDate (ISO-8601; default = current month).
gambot_list_campaignsList campaignsList all broadcast campaigns for the organization.
gambot_list_case_slaList cases by stage SLAList cases (פניות / support tickets) ranked by their per-stage SLA — i.e. cases that have sat in their current stage longer than the stage's target (or are about to). Use this to answer 'which cases breached SLA / are at risk / are overdue'. 'breached' = past the stage deadline; 'at_risk' = within the last 20% of the allotted time; 'ok' = within target; 'none' = the current stage has no SLA; 'resolved' = closed/resolved (clock stopped). Deadlines are business-hours-aware when enabled. status: open (default = breached+at_risk) | all | breached | at_risk | ok | none | resolved. Returns { status,…
gambot_list_casesList casesList cases (paginated).
gambot_list_connectionsList connectionsList the organization's connected integrations (the same as Settings → Connections): email & calendar OAuth accounts (Google/Microsoft), Facebook/Meta lead-ads pages, shop/CRM links, plus the org's WhatsApp numbers. Only non-secret metadata is returned (ids, providers, status, account email). Use a connection's id as the connectionId elsewhere (e.g. gambot_list_facebook_lead_forms, gambot_create_facebook_lead_bot) and its provider ('google'/'microsoft') to pick a mailbox/calendar.
gambot_list_contactsList / search contactsList or SEARCH the org's contacts directory (all contacts — CRM + chat), paginated and ordered by most-recent activity. THIS is the tool for 'who are my contacts', 'find the contact named/phoned/emailed X', 'contacts tagged VIP', 'contacts with conversation status Open', 'contacts owned by agent Y'. Each item: phoneNumber, name, email, tags, conversationStatus (Open/In Process/Closed), conversationCategory, ownerId, ownerName, consent, isSpam, isCtwa, lastMessage (preview), lastMessageTime, createdOn. The response also includes a `summary` aggregated over the WHOLE filtered set (not just the c…
gambot_list_conversation_categoriesList conversation categoriesList the organization's conversation CATEGORIES (labels). A contact has AT MOST ONE category (lastConversationCategory) — a single classification for routing/pipeline, unlike tags which are many-to-many. Use before gambot_set_contact_category.
gambot_list_conversation_slaList conversations by response SLAList WhatsApp conversations ranked by how long the customer has been WAITING for a reply (the message-response / chat SLA). The clock starts at the customer's last inbound message and stops on ANY reply (human or bot). Levels come from the org's settings: 'warn' (amber) and 'breach' (red), and — when business hours are enabled — only working time is counted. Use this to answer 'who is waiting / which chats breached SLA / who hasn't been answered'. level: open (default = warn+breach, the actionable ones) | all | ok | warn | breach. Returns { level, config:{ warnMinutes, breachMinutes, statuses,…
gambot_list_conversationsList conversationsList the org's conversations = CONTACTS, ordered by most recent message. This returns WHO you've been talking to with per-contact METADATA only — name, phone, last-message time and a short last-message preview, plus status/tags/owner. It does NOT return the message history/content. To read the messages of ONE conversation use gambot_get_conversation_messages; to read message CONTENT across ALL conversations for a period (e.g. 'today') use gambot_analytics_transcript.
gambot_list_ctwa_contactsList CTWA (ad) contactsList the contacts that were created from a Click-to-WhatsApp (CTWA) ad / Meta referral — i.e. people who messaged the business by tapping an ad on Facebook/Instagram — each enriched with the originating ad info. Filter by a single ad (adId = referralSourceId), by sourceType ('ad' | 'post'), and/or a creation date range (dateFrom/dateTo, yyyy-MM-dd). Paginated. Each item includes: phoneNumber, name, email, ownerId, ownerName, createdOn, keys, and a 'ctwa' object { adId, sourceType, headline, body, sourceUrl, platform, ctwaClid }. Use gambot_analytics_ctwa for aggregate CTWA performance and the …
gambot_list_documentsList document templatesList document templates.
gambot_list_email_campaignsList email campaignsList all email marketing campaigns for the organization.
gambot_list_facebook_lead_connectionsList Facebook lead-ads connectionsList the organization's connected Facebook/Meta Lead Ads pages. Each item's connectionId is what you pass to gambot_list_facebook_lead_forms and gambot_create_facebook_lead_bot.
gambot_list_facebook_lead_formsList Facebook lead formsList the leadgen forms of a connected Facebook page. Pass a connectionId (from gambot_list_facebook_lead_connections; blank ⇒ the org's first Facebook Lead Ads connection). Returns [{ id, name, status }].
gambot_list_formsList web formsList web forms.
gambot_list_invoicesList invoicesList invoices (paginated).
gambot_list_leadsList leadsList leads (paginated).
gambot_list_notesList / search notesRead the human-written notes (הערות) from across the CRM — the same feed as the in-app 'Notes Hub'. Aggregates notes attached to contacts (from the chat timeline), leads and cases (פניות). Filter by source ('contact' | 'lead' | 'case'), a date range (dateFrom/dateTo, yyyy-MM-dd; defaults to the last 30 days), the author (userId), or a free-text search inside the note body. Paginated. Each item includes: note, entityType, entityId, contactId, contactName, entityName, createdOn, createdById, createdByName. Use gambot_get_entity_notes to read the notes of ONE specific contact/lead/case.
gambot_list_numbersList WhatsApp sender numbersList the organization's connected WhatsApp SENDER numbers. Use this in a multi-number org to discover which line you can send FROM: pass the returned `phoneNumberId` (or `displayNumber`) as `from` on gambot_send_text / gambot_send_template, or as `fromNumberId` on the campaign tools. When omitted, the org's PRIMARY number is used. Returns { count, items:[ { phoneNumberId, displayNumber, label, isPrimary, status, defaultTemplateId } ] }.
gambot_list_ordersList ordersList orders (optionally filtered by status / store / date range).
gambot_list_quotesList quotesList price quotes (paginated).
gambot_list_scheduled_campaignsList scheduled campaignsList scheduled campaigns that are waiting to run.
gambot_list_scheduled_runsList a campaign's scheduled runsList the concrete SCHEDULED RUNS (occurrences) of a scheduled/recurring/block campaign — every future date it will fire, with each occurrence's runAt, status, and (for split campaigns) the recipient batch range. Works for ALL scheduled types: a one-time scheduled campaign (single occurrence), a recurring campaign (e.g. 'every Tuesday'), auto-split blocks, and manually-timed blocks. Use this FIRST to get the exact runAt values, then pass one to gambot_skip_scheduled_run (turn a single date off) or gambot_reschedule_scheduled_run (move a date). If `runs` is empty the campaign is pattern-only (si…
gambot_list_signaturesList signature documentsList e-signature documents (newest first).
gambot_list_tagsList contact tagsList the organization's contact TAGS (aka keys/lists) — the many-to-many labels a contact can carry and that campaigns target via the `keys` audience filter. Use this to resolve/validate a tag name before tagging or broadcasting. (Tags are different from a conversation CATEGORY, which is a single label per contact — see gambot_list_conversation_categories.)
gambot_list_tasksList tasksList tasks for the organization.
gambot_list_templatesList templatesList all WhatsApp templates for the organization.
gambot_list_transactionsList payment transactionsList payment / clearing transactions (עסקאות), newest first. Use this to answer 'what did this customer pay/owe' or to give a transaction breakdown. Each item includes amount, status (pending/paid/failed), customerName, customerPhone, description, entityType (quote/invoice/order/lead/case…), vatInclusive, amountBeforeVat, provider, paymentUrl, items[] and createdAt/paidAt. Filter by contactPhone, status or entityType.
gambot_list_usersList usersList organization users (excluding system bots).
gambot_mark_contact_spamMark / unmark contact as spamMark a contact as spam (isSpam=true) or clear the flag (isSpam=false). Marking as spam also opts the contact out of marketing (consent=false), so they are excluded from broadcasts and hidden from the active chat list. Unmarking spam does NOT automatically restore marketing consent — use gambot_set_contact_consent for that.
gambot_register_webhookRegister event-forwarding webhookRegister (or update) a WEBHOOK so Gambot POSTs every matching WhatsApp event to your server as it happens. Each delivery is a JSON 'envelope': { type, event, types[], organization, receivedAt, meta_obj } where meta_obj is Meta's raw payload, plus request headers X-Gambot-Organization and X-Gambot-Event. Provide the destination `url` (https recommended); optionally an `authHeader` we send verbatim as the Authorization header on every call, and `events` toggles to choose which event types to receive (all on by default). This is the programmatic equivalent of Settings → Event Forwarding, so it al…
gambot_reschedule_scheduled_runMove a scheduled run to a new timeMOVE a single occurrence of a scheduled/recurring campaign to a new date/time, leaving every other occurrence untouched (e.g. 'push this Tuesday's send to Wednesday'). Pass `runAt` (the existing occurrence from gambot_list_scheduled_runs, matched to the minute) and `newRunAt` (the new datetime). The campaign's timezone is preserved.
gambot_run_campaignRun campaignRun an existing (saved) campaign by id now (resolves recipients and executes).
gambot_run_email_campaignRun email campaignRun (send) a saved email campaign now. Uses the durable, resumable engine — safe for large audiences, no duplicates.
gambot_search_available_numbersSearch phone numbers to buy (by country)List phone numbers available to purchase for a country (via Twilio), so you can pick one to buy as the account's SIM/number. Pass the chosen phoneNumber to gambot_create_trial_account / gambot_create_paid_account as simInfo.selectedSimNumber with simInfo.purchaseInTwilio=true.
gambot_send_campaignSend ad-hoc campaignIMMEDIATE 'run to a group' — send an ad-hoc broadcast NOW to a tag/segment/phone-list, WITHOUT saving a campaign. Use this ONLY for an immediate one-off send to CONTACTS. Do NOT use it for: a schedule (once or recurring) or an Excel/CSV sheet — those are ALWAYS saved as a campaign (use gambot_create_campaign for scheduled/recurring or CRM-segment campaigns, and gambot_send_campaign_from_excel for a sheet). TWO things are required: (1) an AUDIENCE and (2) the MESSAGE. AUDIENCE — pick ONE: `keys` (send to everyone with these tags/lists, e.g. keys:['מכבי חיפה'] — the most common request 'send to …
gambot_send_campaign_from_excelSend / schedule a template broadcast from an Excel/CSVBroadcast a WhatsApp TEMPLATE to everyone in an Excel/CSV the user gave you — the easiest way to do a mail-merge blast. An Excel/CSV broadcast is ALWAYS saved as a campaign (this matches the Gambot web app — there is no unsaved Excel send). If you send it immediately, this tool SAVES the campaign and then RUNS it right away; if you schedule it, it just saves it and the scheduler runs it. YOU (the agent) read the sheet and pass: `rows` (one object per row, keyed by the column header), `phoneColumn` (which column holds the phone), and the variable mapping — either `variableColumns` (ordered: 1st…
gambot_send_emailSend emailSend a single email over a connected Google/Microsoft mailbox (Settings → Connections). Provide to, subject and body. Set isHtml=false for plain text. Optionally cc/bcc and a provider ('google'/'microsoft' or a connection id; blank ⇒ first available).
gambot_send_onboarding_verificationSend onboarding verification codeSend a 6-digit verification code to the customer's email AND WhatsApp. Public (no token). Required ONLY before creating a self-serve account that BUYS a phone number (proves the customer owns the email/phone, so we don't buy numbers for fake accounts). Returns { verificationId } — collect the code from the customer, then call gambot_verify_onboarding_code. Free number / co-existence / bring-your-own do NOT need this.
gambot_send_templateSend WhatsApp templateSend an approved WhatsApp template with variables to ONE recipient. Can initiate a conversation even outside the 24-hour window. Required: to (E.164) and templateId (id or name from gambot_list_templates — it must be APPROVED by Meta). Pass variables[] in body order; if the template has variables, call gambot_get_template_variables first and ask the user for values you do not have. Returns { success, data:{ messageId } } — verify delivery with gambot_get_message_status. Likely errors: TEMPLATE_NOT_APPROVED / TEMPLATE_NOT_FOUND (→ gambot_list_templates), MISSING_TEMPLATE_VARIABLES (→ gambot_get…
gambot_send_textSend WhatsApp textSend a free-text WhatsApp message to ONE recipient. Works ONLY inside the 24-hour customer-service window (the contact messaged you in the last 24h). If the window is CLOSED this returns a 409 'conversation_closed' error — do NOT retry free text; send an approved template with gambot_send_template instead. If unsure whether the conversation is open, call gambot_check_window first. Required: to (E.164) and text. Returns { success, data:{ messageId } } — the messageId is how you VERIFY delivery afterwards with gambot_get_message_status. Likely errors: CONVERSATION_WINDOW_CLOSED (→ gambot_send_te…
gambot_set_bot_statusActivate / deactivate botTurn a bot on (active) or off (inactive). By default this toggles ONE botomation. Set includePackage=true to toggle the WHOLE bot — every botomation sharing its sourceFlowId (the main bot + its activator/trigger + the human-intervention cancel + the Gambot AI answerer) — which is what a user usually means by 'turn the bot on/off'. Use gambot_get_bot_package first if you're unsure what will be affected.
gambot_set_contact_categorySet contact conversation categorySet a contact's conversation CATEGORY (single label). Pass an empty string to clear it. See gambot_list_conversation_categories for the available labels. This is distinct from tags (use gambot_update_contact_tags for many-to-many tags).
gambot_set_contact_consentSet contact marketing consentSet a contact's marketing-consent status ('הסכמה לדיוור'). consent=true opts the contact IN (mailable); consent=false opts them OUT / unsubscribes them — after which they are automatically excluded from ALL future broadcasts (campaigns). Use this to record an opt-out the customer requested off-platform (phone call, email, web form), or to re-enable a contact who gave fresh consent. Recipients can also opt out themselves by replying הסר/stop/unsubscribe. Optionally pass a 'source' note for the audit trail.
gambot_set_conversation_statusSet conversation statusSet a contact's conversation STATUS — one of 'Open', 'In Process', 'Closed'. This is the same status the chat sidebar and status filters use (setting it also syncs the underlying conversation). Use to close/reopen a conversation or move it into processing from an external workflow.
gambot_setup_whatsapp_integrationSet up / verify the WhatsApp integration (START HERE)START HERE when a user says things like "add WhatsApp to my app", "I need the official WhatsApp Business API" or "connect WhatsApp". Gambot is the OFFICIAL WhatsApp Business (Cloud) API through a Meta Business Solution Provider — not WhatsApp Web / QR-session automation. This tool only READS state and tells you the single next step and WHO must do it. It works with or without an API token: without a token it follows the public onboarding road (account → Meta Embedded Signup in a browser → API token); with a token it verifies the sender number, approved templates and webhook. Returns { state, s…
gambot_skip_scheduled_runSkip / cancel a scheduled runCancel a SINGLE upcoming occurrence of a scheduled/recurring campaign (e.g. 'skip this coming Tuesday but keep the weekly schedule'), or cancel ALL upcoming occurrences at once. Pass `runAt` (an exact value from gambot_list_scheduled_runs, matched to the minute) to skip just that date, OR scope='upcoming' to cancel every future run (already-sent runs are always kept). The rest of the schedule is re-armed automatically and untouched. To remove the whole campaign entirely use gambot_delete_campaign.
gambot_test_campaignTest campaign (single recipient)Send a single-recipient TEST of a template or free-text message. Great for previewing before a full broadcast.
gambot_test_webhookSend a test webhook eventFire a synthetic sample 'incoming_message' envelope (flagged test:true) at the registered webhook URL — or at an override `url` passed here — and return the delivery result: { delivered, statusCode, durationMs, responsePreview }. Use this to confirm your endpoint actually receives Gambot's calls. The attempt is recorded in the delivery log.
gambot_update_aiUpdate (upgrade) Gambot AI modelUpdate/upgrade an existing Gambot AI brain. PATCH semantics — only the fields you pass change; everything else (including learned Q&A, style examples and the knowledge-base file) is kept. Use this to refine the auto-built AI: sharpen its purpose/instructions, set the tone or language, add Q&A, or toggle escalate-to-human.
gambot_update_campaignUpdate campaignUpdate a campaign (send the full campaign object).
gambot_update_caseUpdate caseUpdate a case — only the provided fields are changed. Accepts base fields plus a nested 'customFields' object (merged with existing custom values).
gambot_update_contactUpdate contactUpdate a contact — only the provided fields are changed. Custom fields go under 'customFields'.
gambot_update_contact_tagsAdd / remove tags on a contactAdd and/or remove TAGS on ONE contact, MERGING with its existing tags (safe — it never wipes the others). Provide `add` and/or `remove` (arrays). New tags are auto-created org-wide. To overwrite the entire tag list instead, use gambot_update_contact with `keys`.
gambot_update_invoiceUpdate invoiceUpdate invoice fields (blocked once issued/locked).
gambot_update_leadUpdate leadUpdate a lead — only the provided fields are changed. Accepts any base field plus a nested 'customFields' object (merged with existing custom values).
gambot_update_noteEdit an existing noteReplace the text of an existing note (הערה). Pass the note's id plus the entityType/entityId of the record the note is STORED on — both are returned with every note by gambot_get_entity_notes / gambot_add_note (a lead note read via its contact still reports the lead as its origin). Only user notes can be edited (never system events). The edit is stamped with the update time and 'Gambot MCP'. Returns { id, entityType, entityId, note, updatedOn }.
gambot_update_orderUpdate orderUpdate order fields (merge).
gambot_update_quoteUpdate quoteUpdate quote fields (partial).
gambot_update_taskUpdate taskUpdate a task — only the provided fields are changed.
gambot_update_userUpdate userUpdate user fields — only the provided ones are changed.
gambot_upload_template_mediaUpload template mediaUpload a public media URL (image/video/document) to Meta and get a reusable header_handle for a template's media HEADER. Use the returned headerHandle inside a HEADER component: {type:'HEADER',format:'IMAGE',example:{header_handle:[headerHandle]}}.
gambot_verify_onboarding_codeVerify onboarding codeVerify the 6-digit code the customer received (from gambot_send_onboarding_verification). Public (no token). On success returns { verified:true }; pass the same verificationId to gambot_create_trial_account to create an account that buys a phone number.
Signals
- Stars
- 2
- Forks
- 0
- Open issues
- 0
- Last commit
- Oct 3, 2026 (1 month ago)
- Last release
- Sep 27, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.gambot-ai/gambot-mcp- Version
- 1.6.1
- Auth
- API key
- Packages
- npm gambot-mcp
- License
- MIT
- Repository
- github.com/gambot-ai/gambot-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Gambot WhatsApp Business API running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Gambot WhatsApp Business API MCP server. Agent Mart. https://agentmart.dev/connectors/gambot-ai-gambot-mcp (last updated 2026-10-24)