Today
What's waiting on you, and how the pipeline is moving.
Signals
Social Media Creatives Outreach proposes what it knows how to look for. You decide what actually defines a good prospect, nothing is collected until you confirm it.
A prospect list is a query, not a file. Pick the signals a good prospect must have, and any that disqualify them, and see how many companies match right now.
Discover
Find businesses matching your ICP. Pick a source, see what it will cost, then run it, nothing is called until you press the button.
Follow-ups
Businesses you're calling or emailing yourself. Set a status on Companies or on a company's page; the soonest follow-up comes first.
Companies
Organizations Social Media Creatives Outreach has researched, and any you add yourself. Set each one's status in the Status column, or click a row to open it.
Contacts
People Social Media Creatives Outreach has found, how sure it is of their address, and where each one stands.
Campaigns
Email sequences Social Media Creatives Outreach has written, and how far each one has got.
Outbox
Emails waiting for you. Read one, decide, move on A approve, R reject, E edit, J/K to move.
Conversations
Every reply, and how Social Media Creatives Outreach handled it.
Activity
A running log of every action Social Media Creatives Outreach's agents have taken.
Stats
Businesses found, replies, email tracking and revenue from each client.
Opens and clicks aren't tracked: tracking pixels and links hurt cold email delivery, so this only counts what's known for sure.
Usage
Model usage on your subscription (Claude or Codex): calls and tokens by provider, agent and task. Subscription plans aren't billed per token, so there are no dollar costs here.
Settings
Credentials are stored locally in .env and never sent anywhere except the services themselves.
Who can sign in
Each person signs in with their own email and password. Employees can do everything except add, rename or remove people. Whatever anyone changes on a company (its status, an appointment, an email, revenue, a note) shows on that company's page with their name and the time.
Ask the owner to add or remove people.
Your password
Change the password you sign in with. You stay signed in here; anywhere else signs out.
channels.email.provider in harvey.yaml to gmail, microsoft, smtp or instantlyGmail / Google Workspace Recommended
Use a mailbox on a dedicated secondary domain. Create an OAuth client (type "Desktop app") in Google Cloud Console → Gmail API, paste the id and secret, save, then run harvey gmail auth.
SMTP + IMAP mailbox
Any real mailbox (AgentMail, Fastmail, a Workspace app password). IMAP defaults to the SMTP host and login if left blank.
Reading replies from a different IMAP server or login
Microsoft 365 / Outlook
Microsoft turned off password sign-in for IMAP, so Outlook mailboxes connect with OAuth. In Entra → App registrations, register an app for your organization only and add the redirect URI http://localhost:8766 as "Public client/native". Paste both IDs here, save, then run harvey microsoft auth. No client secret is needed.
Instantly Legacy
Get your API key from Instantly Settings → Integrations (Growth plan or higher for API).
Google Calendar
Appointments you book with a Follow-up business go straight onto your calendar, and move or disappear when you change them here. In Google Cloud Console, enable the Google Calendar API and create an OAuth client of type "Desktop app". Paste its ID and secret, save, then press Connect and allow calendar access. Harvey can only add, change and remove calendar events.
TinyFish search
Free web search for finding businesses by phrase (30 searches a minute, 500 an hour). In TinyFish → API keys, create a key and paste it here. Then pick TinyFish on the Discover tab. It doesn't record a Google rank; DataForSEO does that.
Serper (Google search)
Google results by phrase, with each business's Google position recorded. 2,500 free searches, no card; after that you buy credits. In serper.dev → API key, copy your key and paste it here. Then pick Serper on the Discover tab. Test uses 1 credit.
Scavio (Google Maps and Search)
One key gives you two sources on the Discover tab: Scavio Google Maps (every place on the map, with phone, rating and reviews, including businesses with no website) and Scavio Google Search (Google results with rank). 50 free credits on signup, then about $0.01 a page. Copy your API key from your Scavio dashboard and paste it here. Test uses 1 credit.
Verifiers
Add at least one so found emails get verified. Without any, addresses stay guess and are never sent. Reoon has the best free tier (600 a month).
For automated LinkedIn prospecting. Social Media Creatives Outreach logs in and searches like a human.
Cloudflare
Deep website crawling with JavaScript rendering during product training. About $5 a month.
Controls
Start and stop Social Media Creatives Outreach's heartbeat loop, and watch what it's doing.
Agent
Recent logs
Help
What Social Media Creatives Outreach is, how it works, and how to fix the usual problems.
What is Social Media Creatives Outreach?
Social Media Creatives Outreach is an autonomous AI sales agent. Once set up, Social Media Creatives Outreach runs on its own: finds people who match your ideal customer, writes personalized cold emails, sends them through your email platform, reads every reply, handles objections, and works toward booking a meeting. You review everything through this dashboard.
Social Media Creatives Outreach runs on your Claude Max subscription (or, if you opt in, your ChatGPT plan through Codex), so there are no extra AI costs. Everything stays on your machine in one folder.
Getting started
There are three things to do:
1. Go to the Settings tab and connect an email provider (Gmail recommended) 2. Train Social Media Creatives Outreach on your product (through Claude or the command line) 3. Go to the Controls tab and click Start
Today shows exactly what's done and what still needs to happen.
Where everything lives
Everything Social Media Creatives Outreach needs is inside this one project folder. Nothing is stored elsewhere.
| .env | Your API keys and credentials (never shared or committed) |
| harvey.yaml | Your product info, target customers, and behavior settings |
| skills/ | Sales knowledge files. Edit these to change how Social Media Creatives Outreach writes and sells. |
| skills/product_knowledge.md | Everything Social Media Creatives Outreach knows about your product (auto-generated from training) |
| prompts/ | Prompt templates for each agent. Advanced customization. |
| data/harvey.db | Database with all prospects, campaigns, and conversations |
| data/harvey.log | Log file showing what Social Media Creatives Outreach is doing |
Getting your API keys
Instantly API key (legacy)
Instantly is the legacy sending option; Gmail or SMTP is recommended.
1. Sign up at instantly.ai (you need the Growth plan for API access)
2. Go to Settings > Integrations
3. Copy your API key
4. Paste it in the Settings tab here
LinkedIn credentials (optional)
If you want Social Media Creatives Outreach to find prospects on LinkedIn, enter your LinkedIn email and password. Social Media Creatives Outreach uses a real browser to search LinkedIn like a human would, with random delays and rate limits to avoid detection.
If you skip this, Social Media Creatives Outreach will find prospects through Google searches and company website scraping instead.
Cloudflare Browser Rendering (optional)
This is only used during product training (when Social Media Creatives Outreach crawls your website to learn about your product). It handles JavaScript-heavy websites that a basic crawler can't read.
1. Sign up at Cloudflare (paid Workers plan, ~$5/month)
2. Go to Workers & Pages > Browser Rendering
3. Create an API token with Browser Rendering Edit permissions
4. Enter your Account ID and API Token in the Settings tab
Without this, Social Media Creatives Outreach uses a built-in crawler that works fine for most websites but can't render JavaScript.
Common issues
"command not found: harvey"
source .venv/bin/activateInstantly API returns 401
Claude headless mode fails
claude login in your terminal and have an active Claude Max subscription. Social Media Creatives Outreach uses your existing subscription, not a separate API key.Codex calls fail
brain.provider: codex, set brain.model to an available model ID, including Luna, Sol, or Terra (for example gpt-6.1-sol), or leave it blank to select a listed model. Social Media Creatives Outreach runs these models without tools; gpt-5.5 also remains supported when present in your account's catalog. Run codex login and choose "Sign in with ChatGPT" (API-key logins are refused). Social Media Creatives Outreach never renews your Codex login: if the log says it has expired or is due for renewal, use Codex once or run codex login. Social Media Creatives Outreach needs Codex CLI 0.159.3 on macOS or Linux (Codex isn't supported on Windows; use Claude there) and refuses other versions. While Codex can't be used, Social Media Creatives Outreach pauses (Today shows "Codex is paused" and why), leaves replies and queued emails untouched, and resumes once it's fixed; harvey status --check checks on demand. If the log says isolation could not be verified, a Codex config layer is forcing a tool, hook, MCP server or custom endpoint back on. Social Media Creatives Outreach refuses to send prompts until it is removed. Social Media Creatives Outreach never falls back to Claude on its own.