← ResourcesPlaybook#51

How to Build Your Agency Product on the DM Champ API

DM Champ is our product, and it ships with an open REST API so you can build your own white-label messaging product on top of it instead of building one from scratch. The base is `/v1/`, and it covers 40+ resource areas: contacts, messages, campaigns, faqs, kb-groups, custom-functions, tasks, deals, appointments, analytics, sub-accounts, white-label-config, webhooks, and more. You authenticate with an API key over HTTPS (no OAuth flow to implement), point the AI agent at your own external endpoints with Custom Functions, subscribe to nearly 20 webhook event types, and provision white-label client sub-accounts programmatically. There is also an official MCP server at `mcp.dmchamp.com` so an AI assistant like Claude or Cursor can operate the whole thing for you. API access is a paid, plan-gated feature: a `403` is returned if your plan lacks it. This playbook walks the six steps from key to shipped product, and it is honest about what we do not have yet.

Step-by-step methodology you can run today. Audience: Developers and technical agency operators building a white-label product or AI agent stack on DM Champ.

Why build on DM Champ instead of from scratch

The reason to build on a platform is simple: you skip the parts that are pure plumbing and keep your time for the parts that are your product. A multi-channel AI sales agent has a lot of plumbing. WhatsApp Business API onboarding, Instagram and Messenger webhooks, SMS provider wiring, message status callbacks, contact dedup, conversation memory, an AI agent loop, credit metering, and a white-label dashboard for clients. Each one is real engineering, and each one needs ongoing upkeep as the providers change their APIs.

Building on DM Champ collapses that into one API key and a set of REST calls. You write the part that is yours (your onboarding flow, your dashboard skin, your client-facing logic) and call /v1/ for everything underneath.

061218243036Build overtakes buy in the first weeksMonths after you startCumulative cost (USD)
Build your own multi-channel AI agentBuild on DM Champ (AppSumo LTD + usage)
Illustrative, not a quote. Building your own multi-channel AI agent means roughly 40 to 80 engineering hours per production channel integration (WhatsApp, Instagram, Messenger, SMS, Telegram, web) plus ongoing auth, pagination, rate-limit and webhook upkeep. Building on DM Champ is a one-time AppSumo lifetime deal plus usage. Your numbers will vary; the shape does not.

The platform side is a one-time AppSumo lifetime deal ($59-$999) plus usage, instead of a recurring API tier. For the full picture on how DM Champ stacks up against other open-API platforms, see the best AI messaging platforms with an open API and MCP roundup. To set expectations clearly before you start: there is no official SDK package on npm or PyPI, no OAuth 2.0, no signed-webhook HMAC, and a key grants full account access (there are no per-key scopes or read-only keys). You get cURL, JavaScript, and Python examples plus a build-a-wrapper guide in the docs. If those constraints are dealbreakers, stop here. If they are fine, the rest is fast.

See what this looks like when DM Champ runs it.

The same AI delivering this read is one click away. Ask it anything. Push back. See if you can break it.

Step 1: Get your API key

API access is a paid, plan-gated feature. On a plan that includes it, you generate a key from the dashboard (or the api-keys resource). The key is the credential for every call. Send it one of three ways: an X-API-Key header, an Authorization: Bearer header, or an ?apiKey= query parameter. HTTPS is required, and there is per-key rate limiting (you get a 429 when you exceed it, so back off and retry).

A quick health check that you are authenticated:

curl https://app.dmchamp.com/v1/contacts \
  -H "X-API-Key: YOUR_API_KEY"

If your plan does not include API access, this returns a 403 rather than data. Treat that as the signal to check your plan on the pricing page, not a bug. Keep the key server-side. Because a key grants full account access and there are no read-only or scoped keys, never ship it in client-side code or a mobile app. For the full reference and the build-a-wrapper guide, the public developer docs live at help.dmchamp.com. The product overview of the API surface is on the API feature page.

Step 2: Create contacts and send messages

The two resources you will touch most are contacts and messages. Creating a contact is a plain POST:

curl -X POST https://app.dmchamp.com/v1/contacts \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane Doe","phone":"+15551234567","channel":"whatsapp"}'

Sending a message routes through the channel you connected (WhatsApp Business API is the managed channel; you can also use WhatsApp Web, Instagram DMs, Messenger, SMS via your own Twilio or an Android SMS gateway, Telegram, email, and web chat).

curl -X POST https://app.dmchamp.com/v1/messages \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"contactId":"CONTACT_ID","channel":"whatsapp","text":"Hi Jane, thanks for reaching out."}'

Note on SMS: DM Champ does not provision managed SMS numbers. SMS is bring-your-own Twilio (you connect your own Account SID and Auth Token) or an Android SMS gateway. That is a deliberate choice tied to US A2P 10DLC registration, and it is worth knowing before you wire SMS into your product. WhatsApp Business API is the channel that is managed under the hood.

Step 3: Subscribe to webhooks

Polling the API for new messages is wasteful. Webhooks let DM Champ POST to your endpoint when something happens. There is a webhooks resource and nearly 20 event types (new inbound message, contact created, appointment booked, and so on). You register a URL and the events you care about:

curl -X POST https://app.dmchamp.com/v1/webhooks \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://yourapp.com/hooks/dmchamp","events":["message.received","appointment.booked"]}'

Be honest with yourself about verification. We do not currently provide signed-webhook HMAC, so you cannot cryptographically verify that a POST came from DM Champ. The practical mitigations: keep your webhook URL secret, put a hard-to-guess path or shared token in the URL, and treat the payload as untrusted input (validate the IDs against the API before acting on anything sensitive). The full event list and payload shapes are in the webhooks feature page and the developer docs at help.dmchamp.com.

Step 4: Let the AI call your APIs with Custom Functions

This is the agentic part, and it is a real feature, not a roadmap item. With Custom Functions, the AI agent can call your external API mid-conversation. The model decides when to call your endpoint, sends the arguments it extracted from the chat, and folds your response back into its reasoning before it replies to the lead.

A concrete example: a lead asks "do you have the blue one in stock in size 9?" The agent calls your inventory endpoint, gets a yes or no, and answers in the same breath. You define the function (name, description, parameters, and the URL to call) through the custom-functions resource or the dashboard, and the agent does the rest.

curl -X POST https://app.dmchamp.com/v1/custom-functions \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"check_inventory","description":"Look up live stock for a product","url":"https://yourapp.com/api/inventory","parameters":{"sku":"string","size":"string"}}'

This is what turns DM Champ from a messaging API into an agent platform: your business logic runs on your servers, and the AI calls it like a tool. The full pattern is on the Custom Functions feature page.

Step 5: Provision white-label client sub-accounts

If you are an agency, the point of building on the API is to run client accounts under your own brand without clicking through the dashboard for each one. The API exposes sub-accounts, white-label-config, and agencies/usage, so you can provision and operate client sub-accounts programmatically: create the sub-account, apply your branding, and read usage for billing.

curl -X POST https://app.dmchamp.com/v1/sub-accounts \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Acme Dental","adminEmail":"[email protected]"}'

Unlimited sub-accounts come with the Agency tier (AppSumo Tier 6, $999 one-time), and white-labeling (custom domain with auto-SSL, your logo, colors, and app name) is included from Tier 3 ($229) up. One honest caveat on scope: only the channel-connection and phone-number endpoints take a sub-account id. So the right mental model is "provision and operate client sub-accounts," not "every call is sub-account-scoped." The white-label resale model is an agency model, not an API partner or affiliate program. For the branding details, see the white-labeling feature page, and for how agencies run this at scale, the agencies use case.

Step 6: Operate it all from your AI assistant over MCP

The last step is the one almost no competitor matches. DM Champ runs an official MCP server at mcp.dmchamp.com (white-label tenants get mcp.youraiconnector.com). MCP lets an AI assistant (Claude, ChatGPT, Cursor, and others) operate DM Champ directly using your API key. You connect the MCP server in your assistant, paste your key, and the assistant can read and write across the API surface in natural language: "pull the contacts who booked this week," "send the follow-up campaign to last month's no-shows," "spin up a sub-account for the new client."

By default the MCP server exposes the full API surface. Be clear-eyed about access control: the only customer-facing control is revoking the API key. There are no per-tool permissions and no read-only default. So scope it the way you would scope the key itself: trusted operators only, and rotate the key if it leaks. The product overview is on the MCP feature page.

The build-vs-buy math

The chart above is illustrative, but the logic behind it is not. A from-scratch multi-channel AI agent is roughly 40 to 80 engineering hours per production channel just to reach a stable integration, and then it never stops needing upkeep: tokens expire, providers change pagination, rate limits shift, webhook formats move. Six channels at the low end is already 240 hours before you have written a line of your actual product, and the maintenance line keeps climbing for years.

Building on DM Champ moves that whole substrate to a one-time AppSumo lifetime deal ($59-$999) plus usage. You are not paying $159-$749 a month for an API tier; you own the platform layer once and pay only for the messages and AI you actually run. The hours you save go into the part a customer pays you for: your onboarding, your reporting, your niche logic. That is the case for buying the plumbing and building the product. For the side-by-side against other open-API platforms, the best AI messaging platforms with an open API and MCP roundup lays out who gates what.

FAQ

FAQ.

No. There is no official SDK package on npm or PyPI. The docs provide cURL, JavaScript, and Python examples plus a build-a-wrapper guide so you can write a thin client in your own language. The API is plain REST over HTTPS, so any HTTP library works.
Want the version where the AI runs it for you?

This page is the manual playbook. The Agency tier at $497/month is the version where DM Champ's AI runs comment-to-DM, 24/7 replies, sales conversations, appointment booking and follow-ups for your clients. Chat with the AI now, see the demo, ask anything.