Integrations
An integration is a tool the model can call, with a narrow contract and an explicit permission. This page lists the ones that matter in Zimbabwe, what the contract looks like, and the constraint each one brings. Nothing here is a partnership claim; every system is described from its public documentation, linked at the bottom.
- 01 · channel
WhatsApp Business Platform (Cloud API)
Inbound messages arrive by webhook; replies go by API. The agent's tools:
send_text,send_list(up to ten rows — use it for slot choices),send_buttons,send_media,send_template(name, params, at). Constraint: free-form messages only inside the 24-hour service window; templates outside it, billed per message by category. Webhooks may repeat — de-duplicate by message ID. Direct from Meta or via a BSP. Details on WhatsApp agents. - 02 · channel
Email
Read via IMAP or the Gmail / Microsoft Graph APIs; send via the same or a transactional provider. Tools:
search_mail,read_thread,draft_reply(assist) orsend_reply(act, gated). Constraint: attachments are large token inputs — extract once, store the structured result. Email is the natural channel for finance and procurement agents. - 03 · system of record
CRMs — GoHighLevel, HubSpot, Zoho, Salesforce
All expose REST APIs for contacts, pipelines, notes and tasks. Tools:
lookup_contact(read),update_stage,add_note,create_task(writes, append-only where possible). Constraint: the agent writes structured notes, never free prose into fields reps rely on. The publisher's implementation company builds agents on GoHighLevel; other CRMs are equally reachable. - 04 · money
Payments — Paynow (EcoCash, OneMoney, ZimSwitch, cards)
Paynow is the payment gateway most Zimbabwean integrations use; its SDKs (Node, .NET, PHP, Python, Java) need an integration ID and key. Two flows:
send()returns a redirect link the agent can message;sendMobile(payment, phone, "ecocash" | "onemoney")pushes an express-checkout prompt to the customer's phone and returns instructions plus a poll URL. The agent's tool contract:request_payment(amount, currency, reference, method)→ poll URL;check_payment(poll_url)→ paid / pending / failed. Constraint: never ask for or store card or PIN details in chat; the agent requests, the provider collects, the result URL confirms. Deposits for bookings and reminders for recurring bills are the two agent uses. - 05 · scheduling
Calendars — Google Calendar, Microsoft 365
Documented APIs for free/busy, events, and invitations. Tools:
get_availability(calendar, from, to, window),create_event,move_event,cancel_event. Constraint: availability is advisory; the write is the truth, so handle conflicts and use idempotency keys. Practice or salon software without an API becomes a thin wrapper that a person can also drive. - 06 · tax
ZIMRA Fiscalisation Data Management System (FDMS)
VAT-registered operators must transmit invoices to ZIMRA through fiscal devices; those able to develop against the FDMS API can use a virtual fiscal device, described by ZIMRA as suitable for medium to large taxpayers with connected accounting or point-of-sale systems. Since 31 May 2025 buyer details must be transmitted. Tool contract:
stage_fiscal_invoice(buyer, lines, currency)(assist) and a separately gatedsubmit_fiscal_invoice. Constraint: a fiscal invoice cannot be quietly withdrawn — a person approves submission and the audit log records it. - 07 · channel
Telephony — Twilio, Vonage, local SIP
International CPaaS providers give programmable calls with webhooks for media streams; published Twilio rates to Zimbabwean mobiles are US$0.8641 per minute. A local SIP trunk from a Zimbabwean operator changes the economics but requires an operator agreement. Tools:
answer,say/stream,transfer,hangup, plus STT/TTS services. See voice agents. - 08 · knowledge
Documents — Google Drive, SharePoint, help centres
Indexed for retrieval. Tool:
knowledge_search(query, k)→ passages with document, version and date. Constraint: one owner per document and a superseded folder the index cannot see; otherwise the agent quotes the wrong version confidently. - 09 · standard
Model Context Protocol (MCP)
An open standard for connecting AI applications to external tools and data through a common client–server interface. Build a Paynow or calendar tool once as an MCP server and any MCP-capable agent runtime can use it. Constraint: MCP standardises the plug, not the permission — the orchestrator still decides which tools are enabled on which turn.
How to write a tool contract
{
"name": "request_payment",
"description": "Send an EcoCash or OneMoney payment prompt to the customer's phone via Paynow. Use ONLY after the customer has explicitly agreed to pay the stated amount. Returns a poll_url; call check_payment to learn the result. Never use for refunds.",
"input_schema": {
"type": "object",
"properties": {
"amount_usd": { "type": "number", "minimum": 1, "maximum": 500 },
"reference": { "type": "string" },
"method": { "enum": ["ecocash", "onemoney"] }
},
"required": ["amount_usd", "reference", "method"],
"additionalProperties": false
}
}The description is documentation for the model; the schema is validation for the orchestrator; the limits (US$500 maximum) are a guardrail. All three live in code, are versioned, and are covered by the evaluation.
Sources
- WhatsApp Business Platform pricing and windows — developers.facebook.com
- Paynow Node.js SDK: createPayment, send, sendMobile (ecocash/onemoney), pollTransaction, result/return URLs — github.com/paynow/Paynow-NodeJS-SDK
- ZIMRA, "Fiscalisation explained" (virtual fiscalisation via API) — zimra.co.zw; buyer-detail transmission from 31 May 2025 — rtcsuite.com
- Twilio voice pricing, Zimbabwe — twilio.com
- Model Context Protocol introduction — modelcontextprotocol.io
All accessed 2026-09-14.