Follow-up helper in your own ChatGPT, Claude or Grok
“Who should I call today?” Then “mark this lead as spoke, interested”. The change waits until you tap Confirm in AOL-Connect.
Proposal · 13 October 2026 · plan only, nothing built yet
Keep our one main app. Add one safe front gate, so every volunteer can use their own AI assistant, and chosen volunteers can build small tools for others. Every tool sees only what that volunteer may already see.
For leadership
Overall architecture
Today only our own app can use the engine. Tomorrow more doors open, but all of them go through one gate that checks the same rules.
These are things volunteers could use or build. Each one shows only what that person may already see.
“Who should I call today?” Then “mark this lead as spoke, interested”. The change waits until you tap Confirm in AOL-Connect.
Ask in Kannada using the AI app's voice mode. The answers come only from your own leads.
A scheduled task in your AI tool sums up your week and lists overdue follow-ups.
The AI drafts a short call script in Kannada for the programme the person asked about.
A tablet at the door. The volunteer approves it with a short code on her own phone, then searches today's registrations and marks attendance.
Weekly calls, sign-ups and overdue follow-ups for my teams. Numbers only, no personal data.
Upcoming sessions and seats left, on a TV in the centre. No personal data.
Three big buttons: my calls today, my next event, help.
For a big event: volunteers pick shifts, and the coordinator sees the gaps.
A small widget that shows upcoming public courses. Public course data only.
Later, the same pattern could serve the Teachers CRM, for example: “Who registered for my course next week, and who has not paid?”, asked in a teacher's own AI tool. That is for the Teachers CRM team to decide.
Examples from other platforms
Large platforms now open their data and actions to AI assistants and outside builders. They share three habits: the tool acts with the user's own permissions, an admin approves each tool, and outside code runs in a sandbox.
| Platform | Open to AI assistants | Outside builders | Safety habit we copy |
|---|---|---|---|
| Salesforce | Headless 360: the platform as APIs, MCP tools and a command line; hosted MCP servers | Custom pages in a sandbox; marketplace apps | Agents work inside the user's permissions; admin-approved client apps; security review before listing |
| Shopify | Storefront MCP lets AI agents search products and manage carts | Headless shops built on the Storefront API (Hydrogen) | A small, chosen set of actions for agents, next to the normal API |
| HubSpot | Hosted MCP server for CRM data, with OAuth 2.1 and PKCE | Apps and UI extensions inside the CRM | A short, purpose-built tool list, not the whole API |
| Microsoft | Dataverse MCP server for Copilot Studio and other MCP clients | Power Apps code apps (React and similar) | Admins allow each AI client separately |
| OpenAI | ChatGPT apps and connectors built on MCP, with OAuth 2.1 | Developers publish apps | Standard sign-in; the token is for one server only |
| Anthropic and xAI | Claude custom connectors (remote MCP); Grok through the xAI API with remote MCP tools | — | The user adds the connector and signs in; review each tool call |
| MCP + Cloudflare | Open standard and ready building blocks for an MCP server with OAuth | Workers for Platforms runs each customer's code alone | Outbound guard; limits per app; no direct database access |
In April 2026 Salesforce announced Headless 360: its platform as APIs, MCP tools and a command line. Agents work inside the user's existing permissions and sharing rules. Registered agents get their own identity and can have fewer rights than a person. Hosted MCP servers need an admin-approved client app and PKCE. Custom pages run in a per-namespace sandbox, and listed apps pass a security review.
We copy: user-level permissions, admin approval, sandbox, review. We do not copy: paid marketplace, per-call billing, our own agent builder.
Sources: Headless 360 announcement · Agent API · Lightning Web Security
Shopify is a well-known “headless” platform: shops build their own front end (often with Hydrogen) on top of the Storefront API. Shopify now also offers Storefront MCP, so AI agents can search a shop's products and work with carts through a short list of actions.
Lesson: one engine, many front ends, and a separate small action list for AI.
Source: Shopify Storefront MCP docs
HubSpot runs a hosted remote MCP server that lets AI clients read and update CRM records. It uses OAuth 2.1 with PKCE and offers a purpose-built set of tools rather than the whole API. Developers also build apps and UI extensions that show inside HubSpot.
Lesson: a CRM like ours can safely give AI a short, chosen tool list.
Sources: HubSpot MCP server · Spring 2026 developer spotlight
The Dataverse MCP server connects business data to Copilot Studio and other MCP clients. Admins manage it centrally and allow each client separately. Power Apps code apps let developers build their own web front ends on the same data.
Lesson: the admin decides which AI clients may connect.
Sources: Dataverse MCP in Copilot Studio · Dataverse MCP tool shape (blog)
ChatGPT apps and connectors are built on MCP. Sign-in follows OAuth 2.1 as the MCP standard describes. ChatGPT prefers a newer way to identify itself (client metadata documents). Which ChatGPT plans can add a custom connector was not clear on 13 Oct; we test it in the pilot.
Source: OpenAI Apps SDK: authentication
Claude supports custom connectors (remote MCP) on Free (one connector), Pro, Max, Team and Enterprise plans. That is why the pilot starts with Claude. Grok, through the xAI API, can call remote MCP tools with a fixed key, so later we add a personal read-only key for Grok users.
Sources: Claude custom connectors · xAI remote MCP tools
The Model Context Protocol is the common plug between AI assistants and tools. Its current version is dated 28 July 2026. It says: the server checks every token, the token must be made for that server, scopes stay small, and a person should be able to refuse a tool call.
Sources: MCP authorization · MCP tools
Cloudflare gives ready parts: a library for OAuth 2.1 on Workers, a guide for remote MCP servers, and Workers for Platforms, which runs each customer's code in its own Worker with an outbound guard and limits. It costs USD 25 a month, including 1,000 scripts.
Sources: Workers for Platforms · Remote MCP server guide · workers-oauth-provider
Current state
Both systems already have good rules about who may see what. But only our own apps can come in. There are no keys for outside tools and no AI connector.
One Cloudflare Worker and one database for each deployment. A phone-friendly staff app. The public enquiry form and the participant page are simple server pages.
Four roles: org admin, coordinator, teacher and volunteer, placed on a team tree. One central rule hides every field a role may not see. A volunteer sees only her own leads and her team's inbox.
A person fills the public form with a consent tick. A coordinator accepts it as a lead. A volunteer claims it, calls, and records the result. The lead is booked on an event and attendance is marked.
Sign-in is a browser session for our own app only. No keys for outside tools, no AI connector, and the machine-readable API description covers only a small part of the actions.
Several apps in one code base (teacher portal, staff console, volunteer apps, registration and payments) on Cloudflare Workers, with a Postgres database.
A separate central sign-in service. A clean list of permissions in the form “area: action”. Other systems connect today with shared keys.
The Teachers CRM belongs to the group team. We share the design with them. They decide if and when it follows.
Strong rules inside. One cookie-based door. No per-user keys for outside tools. A thin API description. No AI connector.
Target design
We build one gate in front of the rules we already have. We do not build a second copy of the rules.
We review and approve each app and each new version. An admin decides which roles and teams can see it. Each user installs it by tapping Allow.
Who asked, with which tool, about which record, and the result. The log holds record numbers only, never names, phones or text.
A limit on calls per minute for each key and each app, and exact daily caps for changes.
(1) The user removes a tool. (2) An admin blocks one tool for everyone. (3) One switch turns off all outside access. (4) Any builder app can be turned off at once.
The NGO is responsible for participant data. A volunteer's own ChatGPT, Claude or Grok account belongs to an outside company. Sending participant data there is a legal decision for the owner. Until then, we use practice data only.
For engineers
Open each part for the detail. Everything here is a proposal; nothing is built yet.
/api/v1/ as aliases of the same handlers. A future v2 is a new alias set, never a change in place.workers-oauth-provider library. It supports OAuth 2.1 with PKCE, client metadata documents, dynamic registration, protected resource metadata (RFC 9728) and resource indicators (RFC 8707). It stores only hashes of tokens.| Scope | Meaning | Roles that may grant it |
|---|---|---|
leads:read | My visible leads and follow-ups due | Volunteer, teacher, coordinator, org admin |
leads:write | Record a follow-up result, add a comment, set the next date (always with confirmation) | All four |
events:read | Events and sessions in my scope | All four |
events:write | Register a person, mark attendance | Teacher, coordinator, org admin |
team:read | Counts and funnels for my teams, no personal data | Coordinator, org admin |
Never by key in the first three steps: export, import, erase, password reset, member changes, and settings. Those stay in the main app. Reading notes is a separate later scope that needs its own owner decision.
For the Teachers CRM, its “area: action” permissions would map to scopes the same way, if the group team agrees.
/mcp endpoint on the same Worker, Streamable HTTP, stateless, built with Cloudflare's createMcpHandler. It accepts the current MCP version (2026-07-28) and the older versions clients still use./api/v1/.| Risk | Guard | Signal that it is still open |
|---|---|---|
| A key sees more than the person | Listed actions only, same checks as the app, closed by default | A test that compares each key answer with the app's answer, for each role, finds a difference |
| A hidden instruction in a note causes a wrong change | Every change needs a human tap on our page; no send tools | A change in the log with no confirmation |
| Data at outside AI companies | Owner decision first; practice data; minimum fields | Full phone digits in a tool answer |
| A builder copies data out | Outbound guard; no export scope; builder agreement | The outbound log shows another host |
| A stolen key | Short-lived keys, rotation, revoke screen, rate limit | Calls after a revoke |
Plan
| Step | What ships | Effort | Owner decision |
|---|---|---|---|
| 1. Ask your AI | A 3–4 day technical spike, then the read-only connector, consent page, four read tools, masked answers, read log, rate limit and switch. Test site, practice data, about 10 volunteers. | Spike + 2–3 weeks | Practice data or real data (legal) |
| 2. AI can update, after you confirm | Write tools with confirm-in-our-app; public API v1 (about 25 actions) with description; “Connected apps” screen; personal read key; device flow. | 4–6 weeks | Which actions AI may do; notice and consent text |
| 3. First builders | Sealed boxes, outbound guard, limits, app tables, review checklist, 10–20 builders, builder web address. | 6–8 weeks | Money; builder rules; Cloudflare account access |
| 4. App catalogue | Catalogue screen, install per user, quotas per app, up to a few hundred builders. Teachers CRM follows if the group team agrees. | 8–12 weeks | Builder terms at scale; Teachers CRM adoption |
Done means: a pilot volunteer adds the connector, signs in, asks “Who should I call today?”, and gets only her own practice leads. A volunteer in another team sees none of them. The switch turns it off within a minute. Every question appears in the log.
After two weeks we measure: weekly active pilot users, questions per user, and any answer that showed data outside scope. That last number must be zero.
Needs the owner
Everything else, the team can decide and record. These four need you.
May real participant data (names, partly hidden phones, later notes) go to outside AI companies through a volunteer's own account? This needs new consent words under India's DPDP law. Until you say yes, we use practice data only.
Before step 3: Cloudflare Workers for Platforms at USD 25 a month, plus a separate web address for builder pages at about USD 10–20 a year. Steps 1 and 2 need no new money.
Who may become a builder, the rules they sign, and the training they take. Our proposal: nominated by a coordinator, active for 3 months, start with 10–20.
The Teachers CRM belongs to the group team. They decide if and when it follows the same steps. We only share the design.
References
Public pages, read on 13 October 2026. Some product details (for example which ChatGPT plans allow custom connectors) were not confirmed on official pages and are marked as such above.