These 10 use cases cover the most common operations any MCP-compatible agent can perform against Aurora Inbox: inbox triage, automated follow-up, CRM enrichment, BANT scoring, reminders, surveys, ad-hoc reports, mass onboarding, and hybrid human-bot operations. Aurora MCP offers 30+ tools covering sales, support, marketing, and operations—here you see the specific tools, the agent prompt, and the expected outcome for each use case.
Before we begin
To run any of these cases you need three things:
- An Aurora Inbox workspace (the free trial (It works).
- A key Platform API
ak_live_*generated in the Developer Portal. - An MCP-compatible agent: Claude Code, Codex CLI, Cursor, Claude Desktop, VS Code Copilot, or a custom agent using the MCP SDK.
If you don't have the setup yet, review What is MCP applied to WhatsApp? and the guide of Connect Claude Code to AuroraFive minutes and you're ready.
Case 1 — Morning triage of unanswered tray
Tools used: search_chats, get_chat, send_message (with note=true).
Prompt to the agent:
Search Aurora for all unanswered chats from the last 24 hours. For each one, read the customer's last message and leave an internal note with a one-line summary and the priority (high/medium/low) based on whether it mentions money, urgency, or a complaint. Do not reply to the customer; only leave internal notes.
What are you doing: the agent calls search_chats(unanswered=true), page the 25 results per page, and for each chat invoke get_chat(id) To read the last turn. Summarize in a single line, assign priority, and send. send_message(chatId, text, note=true) — the note is visible only to the team, it never reaches the client.
Result: You open Aurora at 8 AM and every unanswered chat already has a summary and priority. The team decides who to target first without reading entire threads. Zero risk because no message is ever sent to the client.
Case 2 — Auto-response to unanswered leads after 72 hours
Tools used: search_chats(unanswered=true), get_chat, send_message.
Prompt to the agent:
Look for chats where the last message was from the customer and there hasn't been a response from us for more than 72 hours. Send a short, friendly follow-up message in neutral Spanish, asking if they still need help. Wait 1 second between messages to comply with Aurora's rate limit.
What are you doing: filter search_chats(unanswered=true)Discard those that already have recent activity, write a personalized follow-up by reading the context with get_chatand sends with send_messageThe rate limit of 1 message/second per tenant is automatically respected — if it is exceeded, Aurora returns Rate limit exceeded… retry after 1s.
Result: You recover dormant leads that would otherwise be abandoned. Start with a low-risk pilot channel (not top clients), measure response rate, and then scale.
Case 3 — CRM Enrichment from Chat
Tools used: get_chat, get_contact, update_contact, list_contact_properties, create_opportunity.
Prompt to the agent:
For chats that were active yesterday, read the content and extract the company, job title, industry, and team size if mentioned. Update the contact using `update_contact` with existing custom properties. If you detect a purchase intent, open an opportunity with the sales team.
What are you doing: list of custom properties with list_contact_properties To find out what fields the tenant has, read the chat with get_chat, extracts data from the text, calls update_contact with the new values and create_opportunity(chatId, teamId) when it detects intent.
Result: Your CRM grows with every conversation, eliminating the need for reps to fill out forms after each WhatsApp call. Data remains readily available for segmentation and reporting.
Case 4 — Automated BANT Rating
Tools used: get_chat, update_contact, create_opportunity, update_opportunity (with amount, followUpDate, stageId).
Prompt to the agent:
In new chats from the last day, evaluate BANT (Budget, Authority, Need, Timing). If the lead qualifies for all 4, open an opportunity with an estimated amount and a follow-up date of 7 days. If it qualifies for 2-3, mark it as "nurture". If it qualifies for 0-1, ignore it. Save the BANT flags in the contact's custom properties.
What are you doing: the agent reads the chat, evaluates BANT against the text, updates custom properties (bant_budget, bant_authority, etc.) with update_contactAnd for the qualified, call create_opportunity followed by update_opportunity(stageId, assignedUserId, followUpDate, dealAmount).
Result: Human SDR focuses only on pre-qualified opportunities. Nurture leads remain in a segmented marketing drip. This reduces time wasted on unqualified leads.
Case 5 — Abandoned Shopping Cart Recovery (ecommerce)
Tools used: incoming webhook from your platform → upsert_contact → create_chat → send_message.
Prompt to the agent:
Whenever a "cart_abandoned" event arrives from Shopify at my endpoint, take the buyer's phone number, upsert it into Aurora, open a WhatsApp Cloud chat, and send a message reminding them of the items in their cart and providing a link to checkout. If a chat is already open, reuse it.
What are you doing: Your agent listens for the Shopify webhook (or any ecommerce platform). Upon receiving the event, they call upsert_contact(phone, name, email) that creates or updates the contact keyed by phone. Then create_chat(contactId, channelId, channelType=0) Open a conversation in the WhatsApp Cloud API. End with send_message.
Result: Carts recovered in minutes instead of hours. Without your team having to touch anything — the agent runs 24/7. Typical recovery rate increases 10-20% compared to email alone.
Case 6 — Appointment reminders the day before
Tools used: Calendar integration (Google Calendar / Outlook) → list_contacts → create_chat → send_message.
Prompt to the agent:
Every night at 8 PM, I check my Google Calendar for tomorrow. For each client appointment, I search for their contact in Aurora using `list_contacts(search=email)`, open or reuse the WhatsApp chat, and send a reminder with the time, location, and a confirmation button.
What are you doing: The agent combines its access to the calendar (via Google MCP or your custom integration) with Aurora's tools. It matches the guest's email with list_contacts(search=email)Open the chat with create_chat If it doesn't exist, send a reminder with send_message.
Result: It typically reduces the no-show rate by 30-40%. Useful for clinics, auto repair shops, legal advisors, gyms, and any appointment-based business.
Case 7 — Post-conversation surveys with NPS
Tools used: create_webhook (events: chat.closed) → trigger in your infrastructure → send_message → log result.
Prompt to the agent:
Create a webhook in Aurora that listens for the `chat.closed` event. When it arrives, wait 30 minutes and send the customer a message asking, "On a scale of 0 to 10, how likely are you to recommend us?". Save the response in a custom property `nps_score` and average it per agent each week.
What are you doing: the agent creates the webhook with create_webhook(url, events=["chat.closed"], description)Aurora returns a secret Just once to validate signatures. Your endpoint receives the events, schedules the delivery in 30 minutes, and calls. send_messageThe answer is saved with update_contact(custom_properties).
Result: Continuous NPS, linked to each agent who closed the chat. Useful for identifying top reps and reps who need training. Maximum 5 webhooks per tenant — use slots wisely.
Case 8 — Ad-hoc reports in natural language
Tools used: search_chats with several filters, list_contacts, list_chat_opportunities.
Prompt to the agent:
How many unanswered chats do I have from the last week, grouped by channel? What opportunities worth over $50,000 MXN are unallocated? How many new contacts came via WhatsApp Cloud vs. Messenger this month?
What are you doing: the agent composes multiple calls to search_chats(unanswered=true, channelId, page) paginating the 25 results per page, sum per channel, call list_chat_opportunities with amount filter, and list_contacts(createdAfter, createdBefore) For counting. Returns the answer in natural language with tables.
Result: On-demand dashboards without building a dashboard. Especially useful for C-level managers who ask different questions every week — the agent builds the query and delivers it in seconds.
Case 9 — Onboarding of new equipment in bulk
Tools used: invite_user, assign_team, upsert_contact massive from CSV.
Prompt to the agent:
I have this CSV file with 30 new salespeople and 500 legacy contacts. Create the users in the Sales team, import the contacts, and assign them to the correct salespeople based on the "owner_email" column in the CSV file. Send a welcome message to each contact from the assigned salesperson's chat.
What are you doing: the agent parses the CSV, calls invite_user per seller and assign_team to assign them to the Sales team. Then iterate through the 500 contacts with upsert_contact(name, phone, email, companyName)For each contact, search for the seller by email, open a chat with them create_chat and sends a welcome message send_message — always respecting the rate limit of 1/sec.
Result: Onboarding, which used to take the operations manager two days, is now done in 30 minutes from the terminal. Zero data entry errors; everything is recorded in the Aurora audit log.
Case 10 — Hybrid operation: front-line agent + back-office human
Tools used: list_chat_chatbots, start_chatbot, stop_chatbot, search_chats(unanswered=true), assign_chat_agents.
Prompt to the agent:
Activate the support chatbot in new chats where the customer asks about hours, prices, or policies. If, after two interactions, the customer remains dissatisfied (detected via sentiment analysis), pause the bot and assign the customer to the on-duty human support team member.
What are you doing: The agent lists available chatbots with list_chatbots, identifies the support one and activates it with start_chatbot(chatId, chatbotId)Monitor with search_chats(unanswered=true) and get_chatIf you detect frustration, call stop_chatbot and assign_chat_agents(chatId, userIds) to escalate the human on duty.
Result: The bot handles 60-70% of the routine volume. The human only receives cases where they provide real value. Zero customers stuck in a loop with a bot they don't understand.
How to combine multiple cases into a continuous workflow
These cases are not isolated. The same agent can run triage every hour (case 1), send follow-ups every night (case 2), enrich CRM in real time (case 3), qualify BANT as soon as new leads come in (case 4), and deliver an NPS report every Monday (case 7)—all from a single cron job run by the developer pointing to Aurora MCP. Every call is recorded in the audit log with the keyId who executed it, thus separating what each agent did. One key, one endpoint, all cases.
Recommendations for getting started
- It starts with case 1 (triage) which has zero risk — only reads chats and leaves internal notes. Zero messages to the client, zero exposure.
- Try case 2 (follow-up) on a non-critical channel or segment first — a cold lead channel before a premium customer channel.
- Measure before expanding — Response rate, post-bot NPS, qualified vs. created leads. Without metrics, you don't know if the agent is contributing.
- Use
note=trueduring experimentation so the agent can "rehearse" messages without sending them to the client. When you're satisfied with the output, remove it. - Keep a human always available for escalation — Case 10 is the safety net. Never leave a customer stuck with an agent who can't resolve the issue.
How Aurora MCP does it
Aurora MCP provides the substrate for all 10 cases without you having to build it: a key ak_live_* Reuse your Platform API, native audit logs separate what each agent did, rate limits protect your number quality in Meta, and the underlying CRM saves contacts and opportunities so every case is added to the history. The plan Aurora IA $179 USD/month ($3,200 MXN) It already includes GPT-5, RAG, scheduling and MCP server — you don't need to buy separate parts. Start your free trial and run case 1 on your first day.
Frequently Asked Questions
Do I need to program to run these cases?
For cases 1-4 and 8, no—only natural language prompts to Claude Code, Codex, or Cursor. For cases 5, 7, and 9, you do need at least one endpoint that receives webhooks or reads CSVs; a script of approximately 50 lines in Python or Node is sufficient. Review the Comparison of MCP agents to choose a client.
What happens if the agent makes a mistake?
Aurora validates each call (required fields, valid GUIDs, user roles) and returns typed errors. The agent receives the error and can retry or escalate to a human. For experimentation, use note=true in send_message — the note remains internal and does not reach the client.
Is there an additional cost for the LLM besides Aurora?
Yes — Aurora MCP does not include the cost of Claude, GPT, or Gemini when you use the agent from your local client. If you use the embedded Aurora chatbot (case 10), GPT-5 is already included in Aurora AI. If you run Claude Code on your machine, you pay for Anthropic separately.
Is it possible to limit which tools the agent uses?
Yes. Each key ak_live_* It remains scoped to the tenant and the associated user role. Sensitive tools such as delete_contact They require the Contact Administrator role. Generates separate keys per agent or per human and revokes them individually from the Developer Portal.
Is there an audit log of what each agent does?
Yes. Every call to the MCP is logged with the keyId The log includes the event that originated the event, timestamp, the tool invoked, and the response. This is useful for incident investigation and compliance. The log is native; you don't need to create it.
Do these cases apply to B2B and B2C?
Yes. Cases 1, 2, 3, 4, 7, 8, and 10 apply equally to B2B and B2C. Case 5 (shopping carts) is typically B2C. Cases 6 (appointments) and 9 (bulk onboarding) apply to both. If your business relies heavily on catalogs, scheduling, or multi-channel marketing, also review the relevant sections. Aurora MCP vs WhatsApp Cloud Direct API and What is WhatsApp Agent?.

