03 · Your main bot, DM it
Chief of Staff
The one that does everything. Assistant, coach, researcher. It has live access to your email, calendar, ATS/CRM, documents, and meeting notes, which is why the answers get good: it can connect a candidate, to a search, to a conversation you had back in March.
Need something looked up? Ask. "Find the parent company of Vulcraft" or "pull up this company's website." I can search the web and read pages.
Email & calendar
- Draft an email to Toby about the Safety Manager search
- Write that up and attach the position spec
- Set up a calendar invite with Steve Jones and include a Teams link
Give it the ask in ten words. It writes the email in yours. "Send an email to Jay thanking him for the interview today" comes back as the three or four polished lines a professional would send, in your voice: it learns how you write from your own sent email and your history with that exact person, and it only references things that actually happened. Then it stages the draft and waits for your confirm send.
Sent as normal formatted email with your real signature. Want the exact signature you use in Gmail or Outlook, bolding and links included? Three steps, once: compose a new email to yourself, leave the body completely empty so your mail app adds the signature by itself, and actually hit Send (a draft does not work, the capture reads your Sent folder). Then say grab my signature from my sent folder before you send anything else, because it reads your newest sent message. Saved once, on every email after that.
Replies land inside the thread with the history quoted, on Gmail and Outlook. Say "reply to the latest email from John" and it finds the thread. It never sends a reply unthreaded.
A file someone emailed you is one sentence away: "grab the JD Dan sent and put it in my folder" pulls the attachment, reads it, and hands it to whatever comes next, a brief, your ATS, a market map. Outbound attachments go up to 15 MB on Gmail and 20 MB on Outlook.
Want a word in bold? Wrap it in double asterisks, **like this**. That is the one formatting marker that renders. Pick an outgoing font once with !email-actions font georgia if you want one. Leave it unset and each recipient sees their own default.
Two signatures if you like. Your full block on new email, a short sign-off on replies. Capture the short one the same way: reply to any email in your own mail app with just your sign-off, then say grab my reply signature from my sent folder. Switch signing off or on without losing anything: !email-actions signature off and on, or !email-actions signature mode new-only to sign new mail only. Your captured signature is never restyled.
It can attach documents, and it can CC: "draft an email to Toby, CC Steve." If a CC address can't be found it says so instead of quietly leaving them off.
Cold outreach is the one exception: tell it "this is a cold email" and it sends plain text, which lands better with strangers.
Your Drafts folder stays clean. When you confirm send, it sends the draft you approved. No orphan drafts piling up at the end of the day.
Two quick checks in a DM: "learning health" shows how your profile learning and dossier health are doing, and "dossier status" shows the quarterly dossier index.
Calendar invites work the same safe way: your RecruiterClaw team switches on Calendar Actions, every event is previewed in Slack first, and nothing is created until you reply confirm event. It finds attendee emails itself from your own email history and flags anything uncertain (a nickname that doesn't match the inbox, a personal address) before you confirm.
It runs your scheduling
Say "send Thom some times to meet next week." It pulls real open slots from your calendar (working hours respected, buffers around your meetings, never inside 3 hours), converts them to the other person's timezone when it knows it, and drafts the email in your voice. You reply confirm send and it goes.
Then it watches the thread. When they reply with a time, a card appears in your channel within about 15 minutes: who answered and what they said. Say "book it," review the invite preview, reply confirm event. Booked, and it offers to log the meeting in your ATS. You never babysit your inbox for a scheduling answer again.
If they go quiet, it asks YOU whether to nudge: one card, once, not daily nagging. Say yes and it drafts a short follow-up for your confirm send. It learns each person's normal reply pace from your history, so a fast responder's silence gets flagged sooner than a slow one's. "Watch it, but don't bug me about this one" works too.
- Send Tom some times for 30 minutes next week about the pricing renewal
- What are we still waiting on?
- Book it
- Nudge him
Standing rules, said once. Tell it "I don't take calls before 10," "client calls are 30 minutes on Meet," "no Fridays after 2," or "give people 48 hours before asking me to nudge" and it saves the rule and applies it to every availability email from then on. Ask "what are my scheduling preferences?" to see them. Change or clear them the same way.
Clear my day. Say "I'm sick," "reschedule my 2pm with Vince," or "clear my week." It sorts the damage: meetings with people get a drafted ask-email with new times (each behind your confirm send, each thread watched for the rebook), solo blocks just move, and meetings someone else organized get declined with a note. The calendar changes land as one preview card listing every move and cancellation, including any note being sent under your name, and one reply, confirm reschedule, executes the batch. If part of it fails, it tells you exactly what did and didn't happen and stages just the remainder for one more confirm. Requires Calendar Actions on (same switch as invites).
Live CRM & ATS Reads live · updates with your approval
It reads your ATS/CRM live, Loxo, Spott, and Jarvi, and can update it too: add notes and activities, change contact details, and move candidates between pipeline stages. Stage moves work on Loxo and Spott. On Jarvi you make the stage move in the ATS yourself.
- How many candidates are in the pipeline for this job?
- Who's in each pipeline on the Vulcraft search?
- Who's in Holding Pattern on the Vulcraft search? any stage comes back in full, however long
- Pull the job description for the Kansas City PM role
- Give me a candidate brief on this candidate
- Find me the contact info on this candidate
- What were the last three jobs this candidate was submitted to?
- Update her email address to…
- Add a note to her activity: spoke today, wants $185K base
- Move her from Sourced to Submitted
- Pull everything we have on Acme Construction: contacts, jobs, history
- How many jobs have we run with this company?
You decide how much rope it gets, with a trust setting you choose. Confirm, the default, holds every new- record write in a queue for your sign-off. Review what's waiting any time with !crm-queue list. Autopilot lets approved writes post on their own. Read-only switches writes off entirely, for anyone who wants it.
!crm-approve <id> applies a waiting write, !crm-reject <id> discards it. Batch moves, "move these six to Submitted", are verified one by one and come back with the undo path. An ambiguous stage name gets a quick question first.
One rule it can't break: it never deletes anything, in your ATS or anywhere else. That's enforced in the code, not just the policy.
Your second brain: total recall
Once your emails, calendar and note-taker notes are indexed, it goes back weeks, months, or years.
- What did Grant say about the comp range back in March?
- Give me a full dossier on the last time I spoke with Dan
- Pull my note-taker notes from that kickoff call
- Search all my emails with John going back nine months
Ask for the story and you get a dated timeline, not a summary blob. "Catch me up on Acme" returns the history oldest first, each line with its date and where it came from: ATS, email, your notes, a call. It closes with where things stand and the obvious next move.
A call you just finished is readable before your notes sync. "What did I talk about with Dan just now?" reads it straight from your note-taker.
Works with Granola and other note-takers. The habit that pays: right after a call, dump your notes into the DM: "just got off with X, they want a VP Ops in Denver." Every time you do that, the next brief is sharper.
Your RecruiterClaw folder
Every seat has one folder, yours, called the RecruiterClaw folder. It sits in the cloud storage that came with your email, and it syncs to your computer like any other folder, so you can always open it and see everything.
Two directions, one rule. Anything the bot makes for you lands there: PDFs, Word documents, spreadsheets, CSVs, Google Docs and Sheets on Google seats. Look for the "Made by RecruiterClaw" area inside it. The Slack file card carries the link too.
Anything you want it to read, you drop in. "The resume I dropped in", "the JD in my folder", "last month's market map for solar" all work. A file you uploaded to Slack or received by email goes in with one sentence: "drop this PDF into my RecruiterClaw folder". It copies the file in exactly as it is.
The bot sees nothing outside that folder, and it never removes anything from it.
Documents on your letterhead
- Draft that as a PDF
- Make that a Word doc
- Build me a candidate brief on my letterhead, and a blind version too
It writes the content and builds a real formatted document on your firm's stationery: your name, tagline, phone, website, and your logo top left on page one.
Set it up once. The first time it makes a document it asks for your tagline, phone, website, and a brand color if you have one. Then attach your logo as a PNG or JPG and say this is my logo, put it on my documents. Every document from then on carries it. "What logo is on my documents?" shows it. "Take my logo off" removes it. "Change my tagline to…" updates any value.
Files it reads
PDF, Word, Excel, text, CSV, images, and anything attached to an email. Upload it to Slack, drop it in your folder, or name the email it came in. Excel workbooks come back sheet by sheet with the row numbers and column letters you see on screen, so "what's in column L" means what you think it means. A legacy .xls needs a save-as .xlsx first. Photos and screenshots must be JPG or PNG.
It can see your screenshots
Upload any image: a candidate profile, a job posting, an org chart, a whiteboard photo. Then ask about it. It reads images the same way it reads documents, and it works on every seat. Send photos as JPG or PNG. iPhone HEIC files will not upload, so take a screenshot or export the photo first.
Your coach on calls
Every seat comes with a full recruiting field manual built in: cold call openers for candidates and clients, complete objection handling on both tracks (from "I'm not looking" to "your fee is too high"), counteroffer inoculation, the discovery questions that make placements, and one-page call flows. Ask mid-prep:
- How should I open a cold call to a passive candidate?
- He says he's happy where he is, what do I say?
- They told me they don't pay fees. Now what?
- They keep pushing me to HR. What's the move?
- Prep me for this call (it blends the playbook with what it knows about your live search)
It coaches as you, with your name and your niche, grounded in your actual desk.
Have your own methodology? Upload the document and say save this as my playbook. Your version wins from then on. One sentence, no setup.
Safety by default. Mail and calendar are read-only. "Write an email" drafts it in Slack. To create real drafts or send, switch on Email Actions with !email-actions. Invites, reschedules, and any calendar change need Calendar Actions on. Sending always requires the exact phrase confirm send, calendar invites require confirm event, and batch reschedules require confirm reschedule, each bound to exactly what was previewed. The bot never deletes, archives, forwards, or changes your calendar on its own. It never sends, books, moves, or cancels anything on its own either. The thread watcher only tells you when a reply lands. Every action stays behind your word.
04 · Searching
Candidate Intelligence
#candidate-intelligence
Describe who you want in plain English, or drop in a job description. The bot builds a search strategy and shows it to you for approval before it runs. Then it searches 400M+ profiles, pulls full work histories, scores each person against the role, and posts a ranked shortlist with contact info.
How a search runs
- Say new search, always, before anything else
- Describe the role, or paste or attach the job description
- The bot proposes a plan and quotes what the pull will cost. Change it in plain English or say run it
- The search pauses at the pool checkpoint with the count. Narrow in plain English: titles, industries, tenure, areas, company size. undo steps back. show me your logic explains the cut. score it ranks the pool
- Results come back ranked. Refine in plain English: "closer to Dallas", "only 5+ years at their company", "drop the estimators". Then enrich all, enrich 10, or enrich 5 for contact info, expand more for more people (it spends only on brand-new ones), skip #3, csv, full csv to include the weak matches, undo, or new search
- stop halts a running search immediately
The plan lock, and the count
When the strategy locks, a deep-index count comes with it: "~1,438 people match this shape". Edit the plan and the count re-posts with the delta, so every change lands where you can see it. Some bounds the index cannot count by, like tenure, years of experience, company size, or excluded titles. Those spend nothing and say so: "still ~1,438 people by title, place, and background. The index can't count by tenure, those bounds cut the pool right after the pull". After you say run it, the pulled line shows the geography survivors and the tenure cut as two numbers: "516 in the target geography, 403 after the tenure bounds".
Checkpoints before scoring
Every meaningful pool pauses at a checkpoint before scoring, with a quick list attached, rules-ranked, not yet scored. Say "score top 25" to score just the front of it, or "score it" for the whole pool. "this tenure" and "these titles" resolve against the plan.
Start here
- Find me a Director of Safety in Phoenix with data-center experience
- Who are the strongest candidates we've sourced this week?
Narrow it: experience, tenure, geography
- 10 years of experience
- No more than 8 years at their current company
- Everyone within a 30-mile radius of Baltimore, Maryland
- Only these ZIP codes / only these states
Tenure is your best filter for cutting a pool down to something workable.
A title someone held earlier in their career counts, and a "current" title that looks stale is flagged, with a confidence column on every row.
An ambiguous city asks before running. "Paris, TX or Paris, France?" You answer, it runs.
Search by company: one, three, or twenty at a time
- Give me everyone at these three companies with the title VP of HR
- Find me all the structural engineers at these 17 consulting firms
- Anyone at these seven companies in sales of any kind
Paste in a company list from an industry directory, ENR list, or association roster and it will work the whole list at once.
The two-step that maps a whole market
- Find the 20 hospitals in Denver, Colorado. Let the bot build the list first
- Now find everyone at those companies with the title Nurse. It searches all 20 at once
Deep search when your seat has it
Say deep search and then your ask. It also pulls full work histories from the live network, the one place that filters on a past employer ("came out of Deloitte"), years at their current company, a real commute radius, or a required license. A few minutes slower, and capped per search.
The plan lock shows a free count first. A deep search captures the first 300 profiles in the network's own order, not the best 300, so reduce the count until it is under 300: years at their company, a past employer, a tighter radius, a required license. Every reduction is free. Only run it spends. Each seat has a monthly allowance that resets on the 1st. When it is used up, the search runs as a normal search and says so.
Captured profiles are flagged "deep search" in the CSV and rank first in the quick list. "just the deep search people" keeps only them. A capture cannot be cancelled once placed. It is kept for a re-run of the same plan at no new cost, and if it lands after the search finishes the bot posts it in the channel and merges it. Any US metro is pinned to a true mile-radius ring.
Rosters and saved company lists
"List every engineer at these companies." No scoring, every person in the cut, one auditable workbook. Paste the companies, upload the file, or name a list you saved before. "Show my company lists" tells you what is on file. Say score it afterward to rank that roster against a role.
Contact info for a list you already have
Attach a spreadsheet or CSV of people and say enrich it. It comes back with emails, personal emails, and phones filled in, posted in the channel and saved to your folder. Pasting one or more profile URLs with "enrich" or "find their emails" works too. One URL is a complete list.
This is a business development tool too
- Find all the engineering managers in Chicago at structural engineering firms
- Find the VPs of Operations at food manufacturing plants in these four states
- Find the HR managers at these 19 companies
Canada and Europe
Canada is built in. Europe switches on per workspace with !europe on, typed by you. That typed command is your decision and your paper trail for EU candidate data rules. !europe off goes back to North America only. !europe status shows where you stand.
Fine-tune the engine
!candidate-prefs !candidate-prefs set pool-cap 300!candidate-prefs client-family add Nucor !candidate-prefs exclude-title add estimator!candidate-prefs exclude-keyword add intern
The one rule people forget: always type new search before starting a different search, including right after an MPC write-up. Otherwise the bot carries the last search's context into the new one and your results get muddy.
The more specific you are, title, location, must-haves, the sharper the shortlist. client-family add makes sure you never surface a client's own employees.
05 · The measured market for a seat
Market Map
#candidate-intelligence
Say market map and paste or attach the job description. In two to seven minutes you get the measured market for that seat as a PDF: how many people hold it and where, demand right now, who else is recruiting for it, posted pay, and the funnel from the whole pool to a slate.
One search per job description, cached for a week, so every other cut re-renders the same run with no new search. Files land in your RecruiterClaw folder and in the channel, and every step tells you what it is building, what comes next, and how to stop.
The commands
All on the first line of the message, in #candidate-intelligence.
| Command | What You Get |
|---|
| market map + the JD | The internal map, your working copy. Paste the JD, attach it as PDF or Word, or send it in the next message within ten minutes. |
| market map client | The client briefing from the same run, the one you hand the hiring company. No candidate is named. |
| market map snapshot | The one-page teaser for cold outreach. |
| market map all | All three at once. |
| market map candidates (or market map search ) | Starts a candidate search built from the map: titles, geography, employer types, must-haves filled in, the hiring company excluded. The plan lock appears, and nothing runs until you say run it. |
| market map mpc | The door-opener map of the last MPC campaign delivered in that channel within the last seven days. Internal only, it names the candidate and the hiring managers. Needs an MPC campaign first (resume, then "MPC", then "run it"). |
| market map status | Where a run stands, what the map can reach, and the last map in the channel. |
| market map cancel or stop | Drops a waiting question or stops a running map. Nothing is delivered from a stopped run. |
Point it where you need it
Modifiers go on the same first line. in Phoenix, AZ overrides the geography. client: Savant Wealth Management names the hiring company when the JD hides it, which turns on the bench count. fresh re-runs the searches instead of using the week-old cache.
A bare market map in a channel that already has a map asks "Which one?" and takes a one-word answer: internal, client, snapshot, or all. If the JD names no geography, the bot asks one question: where is this seat, and which company is hiring. Answer both on one line, Phoenix, AZ; Savant Wealth Management. Plain English is routed for you, "map the market for this JD" lands on the map. A genuinely ambiguous ask like "map out candidates for this" gets one question naming the choices: market map, new search, or deep search.
What the internal map contains
Your working copy. The call (retained versus contingent, with reasons), four measured tiles, the requirement audit (what a profile can prove versus what only a call can), the client's own bench measured against the JD's bar (Talent Map Zero), who else is hiring with posted pay, fee-willingness signals (pay disclosed, relocation, signing bonus, reposts, days open), recruiter competition (search-firm postings over the last 90 days), the talent supply with a roster audit, the pecking order and the feeder map (who hires from whom), posted pay, the funnel to a slate with every assumption labeled, pitch lines, sourcing lanes, and watch-outs.
What the client briefing contains
The one you hand the hiring company. The market in one paragraph, the spec priced in candidates, the bench, who else is hiring, fee signals, the title trap, the talent, the pecking order, posted pay, what the search looks like (a slate size and weeks, no funnel math), three decisions for the client, and a closing one-page "How to read this briefing". No candidate is named.
What the snapshot is
One page. Four tiles, three bullets, and a "reply and we will walk you through it" line.
What the numbers mean, so you can defend them. No individual is ever named in a market map. Only the MPC map names people. A pool marked ESTIMATE came from a 50-profile roster sample, and the page says how. Posting counts are postings, not employers. Search-firm postings cover the last 90 days only. Pay is posted pay only, no range without a named employer.
The whole seat, start to finish
- JD arrives. Say market map with it. Read the call and the tiles.
- market map client for the meeting, market map snapshot for the other firms posting the same seat.
- Win it. market map candidates, approve the plan, then say run it.
- Later, a candidate worth shopping: run MPC, then market map mpc for the door-opener PDF.
Best use: run the map before the search kickoff. Walking in with the measured market changes the fee conversation.