← all free guides
guide
Loading the guide…
← all free guides
guide
Loading the guide…
Tools
Wires Claude Code up to a voice, your revenue dashboard, ad accounts, inbox, and subagents for a scheduled morning briefing.
Loading the guide…
Jarvis is Claude Code connected to the accounts you already use, with a voice added on top. Nothing new to download or install. Once it's set up, it can pull your RevenueCat numbers, check ad spend in Meta, clear out easy emails on its own, hand harder tasks to a subagent, and run the whole check-in every morning without you asking.
Once a few of these are wired up, a morning check-in with Jarvis sounds like this:
Jarvis: "On it, one sec while I pull it together. Downloads are up this week: 3,120 new installs and $5,610 in revenue. Ad spend came in at $612 with a 2.1 return, so that campaign's still healthy. Inbox-wise, you got 21 support emails overnight. I answered 17 of those off the FAQ file, mostly refund and login questions. The other four didn't clearly match anything, so I left them flagged instead of guessing."
You: "What about the crash reports from yesterday?"
Jarvis: "Handled. You'd already told me any confirmed onboarding bug goes straight to Tom, so I passed it along last night. He patched it, ran the tests, and it's sitting in a PR waiting on your review."
You: "Anything I should actually worry about today?"
Jarvis: "Two things. Tom's PR is ready whenever you are, and the street-interview ad angle is still outperforming the others, so I'd keep feeding budget there before testing anything new. Want me to line up Scout on new content angles while you look at the PR?"
You: "Yeah, go ahead."
Jarvis: "Done. I'll have something from Scout by the time you're back at your desk."
Every line in that briefing maps to a step below: revenue from Step 5, ad spend from Step 6, the resolved emails from Steps 7 and 8, Tom from Step 9, and the fact that it ran on its own before you asked, from Step 10.
You don't need to know how to code. Every connector below is a login screen or a copy-pasted command, and Claude Code walks through the configuration with you the same way it would in a terminal session.
| Piece | What it gives Jarvis | Step |
|---|---|---|
| Claude Code | The agent everything else plugs into | 1 |
| Wispr Flow | Talk to Jarvis instead of typing | 2 |
| ElevenLabs / Cartesia | Jarvis talks back, in a voice you pick | 3 |
| Claude for Chrome | Jarvis can click around your browser for you | 4 |
| RevenueCat MCP | Live app revenue and subscription data | 5 |
| Meta Ads MCP |
Everything else in this guide is a connector into Claude Code, so this comes first.
curl -fsSL https://claude.ai/install.sh | bashThat's the official native installer. No Node.js or Docker required. Full instructions for every OS (including Windows) are in the Claude Code Quickstart.
Wispr Flow is a voice-to-text keyboard that works system-wide, turning your spoken words into clean, punctuated text in any app, including your Claude Code terminal or the Claude app.
Full walkthrough: Wispr Flow Setup Guide
Do this one first if you're only doing one. It's what makes talking to Jarvis feel like talking to an assistant instead of typing prompts.
Wispr Flow gets your voice in. This step gets Jarvis's voice back out: text-to-speech, so it can actually answer you out loud, British-butler accent included if you want it.
Option A — ElevenLabs (fastest to a specific character voice)
Docs: Voice Design · Voices overview
Option B — Cartesia (built for low-latency conversational agents)
Create an account at cartesia.ai, grab an API key, and pick a voice from their library. Cartesia's Sonic model is built specifically for fast, natural-sounding agent replies rather than narration. See
This lets Claude click buttons, fill forms, and read pages in an actual Chrome tab on your behalf. It's how Jarvis can open a dashboard that doesn't have an API and read the numbers straight off the screen.
More on using it from a Claude Code session specifically: Use Claude Code with Chrome.
This is what lets Jarvis answer "how's the app doing" with real numbers: downloads, revenue, subscriptions, pulled live from RevenueCat instead of you checking a dashboard yourself.
Recommended — plugin install (OAuth, no key to manage):
In a Claude Code session, run /plugin, add the RevenueCat/ai-toolkit marketplace, then install the RevenueCat plugin. It authenticates via OAuth and scopes access to your existing RevenueCat account permissions.
Or — direct CLI connect with an API key:
claude mcp add --transport http revenuecat https://mcp.revenuecat.ai/mcp --header "Authorization: Bearer YOUR_API_V2_SECRET_KEY"Get the API v2 secret key from your RevenueCat dashboard under Project Settings → API Keys.
Full setup docs (Claude Code, Claude Desktop, and Claude web variants): RevenueCat MCP Server Setup
With this connected, Jarvis can tell you spend and ROAS without you opening Ads Manager. Grant write access and it can pause ads or adjust budgets when you tell it to.
mcp.facebook.com/adsStart with read-only the first time. Once you trust what Jarvis reports back matches Ads Manager, you can reconnect with a higher scope if you want it making changes.
This step is what let Jarvis in the demo say "I resolved 13 automatically." It reads incoming mail, matches it against known questions, and drafts or sends replies.
Simplest path — Claude's built-in connector:
In Claude (web, desktop, or Code), go to Settings → Connectors → Add custom connector, name it Gmail, and connect. You'll get a Google OAuth prompt to pick the account and approve access. In a Claude Code session you can also just type /mcp, find Gmail in the list, and click Connect.
More granular / self-managed path — Google's own Gmail MCP server:
Google also publishes a first-party Gmail MCP server (currently in Developer Preview) that you configure through a Google Cloud project for finer control over scopes. Docs: Configure the Gmail MCP server.
This is the difference between Jarvis forwarding you every email and actually resolving most of them itself. There's no tool to install here, just a file.
SUPPORT_FAQ.mdCLAUDE.md file: "Before drafting a reply to a support email, check the SUPPORT FAQ file. If the question matches, use that answer. If it doesn't clearly match, draft nothing and flag it for me instead."Subagents are how Jarvis hands work off instead of doing everything itself. In the demo, Tom is a developer subagent that picks up an already-approved coding task and works on it independently.
Run /agents in a Claude Code session and let Claude generate one with you, or write the file yourself. A subagent is a Markdown file with a small YAML header defining its name, description, allowed tools, and system prompt.
---
name: tom
description: Use for approved backend and app development tasks. Implements, tests, and reports back. Does not make product decisions.
tools: Read, Edit, Write, Bash
---
You are Tom, the developer agent. You only work on tasks that have
already been approved — if scope is unclear, stop and ask rather
than guessing. Report back what changed and why, concisely.Save it to .claude/agents/tom.md (project-level) or ~/.claude/agents/tom.md (every project). Repeat for a research-focused "Scout," a support-focused agent, or whatever roles match your own workflow.
Full reference: Create custom subagents
This is what makes the briefing happen on its own, before you ask for it: the difference between a tool you use and an assistant that's already working.
In a Claude Code session, type /schedule and describe it conversationally. For example: "Every weekday at 8am, pull my RevenueCat numbers, ad spend, and unread support emails, and give me a short spoken-style briefing with a recommendation for what to tackle first."
Claude Code offers three ways to run this, compared in the docs:
/loop: session-scoped, good for testing a prompt before you commit to a scheduleFull comparison and cron syntax: Run prompts on a schedule
/loop first. Run your briefing prompt a couple of times manually or on a short loop interval before locking it into a daily Routine. It's much easier to fix a prompt that's still in front of you than one running unattended at 8am.| What you see | What it means | Fix |
|---|---|---|
| Jarvis can't see a connector's data | OAuth wasn't completed, or the wrong account was picked | Re-run the connector setup in Settings → Connectors, watch for the browser OAuth prompt |
| Meta Ads MCP says "not enabled" | Your ad account isn't in Meta's beta rollout yet | Nothing to do yet, just try again later |
| A subagent isn't being used | Its description doesn't clearly match the task, or the file's in the wrong folder | Check it's in .claude/agents/ (project) or ~/.claude/agents/ (user), sharpen the description |
| Scheduled briefing silently stops running |
I make guides, tips, and content about AI and tech — the tools worth using and how to actually set them up.
TikTok — @haejuicyy
If you found this helpful, follow for more! 😛
Free guide
Drop your email and it's yours — plus the newsletter when new guides land.
| Ad spend, ROAS, campaign control |
| 6 |
| Gmail MCP | Reads and drafts email on your behalf | 7 |
| FAQ context file | Lets Jarvis answer routine customer emails itself | 8 |
| Custom subagents | Specialists Jarvis can hand work off to | 9 |
| Scheduled routine | The morning briefing runs itself | 10 |
/loop ended when its session didCheck /schedule for status; move session-scoped loops to a Routine for anything that must survive closing your laptop |
| Support replies feel generic or wrong | SUPPORT_FAQ.md doesn't actually cover that question | Add the real question and your real answer; Jarvis only knows what's in the file |