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.
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.
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.