Agent setup guide
HR & Recruitment Screening
Screens each application against your must-haves and drafts the next email for a recruiter to approve.
What it does
Screens each application against your must-haves and drafts the next email for a recruiter to approve.
- Receives each application (with the résumé text) from your careers page or form through a webhook.
- AI checks every must-have and nice-to-have you paste in, with evidence from the application, scores it 0–100 and recommends interview, hold or decline. It ignores protected characteristics and treats missing information as unclear.
- Logs every candidate to your Google Sheets pipeline with the score, recommendation, strengths and concerns.
- Posts shortlisted candidates to your Slack hiring channel; once a recruiter approves, emails them an invite with your booking link.
- Declines are drafted kindly and only sent after a recruiter approves them; held candidates stay in the sheet as your talent pool.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers).
- Google Sheets and Slack, connected in Settings → Integrations.
- An application form or careers page that can send applications (with résumé text) to a webhook URL, and a booking link for interviews.
What it doesn't do
- It doesn't read résumé files (PDF or Word); it needs the résumé text.
- It never emails a candidate without a person approving, and never declines anyone automatically.
- It doesn't book interviews in your calendar or update an applicant tracking system.
- It doesn't send a weekly hiring summary.
Availability and plans
Available
Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.
Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.
Before you start
- A paid plan: agents run live, and the Free plan only runs Dry Runs.
- An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
- These apps, connected in Settings → Integrations: Google Sheets and Slack.
- A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
- About 20 minutes.
Set it up step by step
Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.
1. Connect your AI provider
The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.
2. Connect Google Sheets
Connect the Google account that can edit your candidate pipeline sheet (Settings → Integrations → Google Sheets).
3. Connect Slack
Connect the Slack workspace your hiring team uses (Settings → Integrations → Slack).
4. Paste the role and its requirements
Open “Screen against the role” and replace the placeholder with the role, must-haves, nice-to-haves, company name and signer.
| Setting | What to enter | In step |
|---|---|---|
| The role and its requirements | Replace the placeholder in the AI step's instructions with the job title, must-haves, nice-to-haves, location or time-zone needs, your company name and who signs the emails. Screening follows exactly what you write. It starts as “[PASTE THE ROLE, ITS REQUIREMENTS AND YOUR COMPANY NAME HERE]” until you replace it. | “Screen against the role” |
5. Pick your candidate pipeline sheet
Open “Log the candidate in Google Sheets”, pick your account, paste the spreadsheet link and pick the tab.
| Setting | What to enter | In step |
|---|---|---|
| Google account (Sheets) | The Google account that can edit your candidate pipeline sheet. Pick your connected Google Sheets account. | “Log the candidate in Google Sheets” |
| Candidate pipeline spreadsheet | Paste the link of the spreadsheet candidates are logged in. Columns: Received, Name, Email, Phone, Role, Score, Recommendation, Must-haves, Strengths, Concerns, Summary. | “Log the candidate in Google Sheets” |
| Pipeline tab | The tab candidates are added to, e.g. “Candidates”. | “Log the candidate in Google Sheets” |
6. Pick the Slack account and hiring channel
Open “Tell the hiring team in Slack” and pick your account and channel. Invite the app to private channels first (/invite @Fluxo Flow).
| Setting | What to enter | In step |
|---|---|---|
| Slack account | The Slack workspace shortlisted candidates are posted to. Pick your connected Slack account. | “Tell the hiring team in Slack” |
| Hiring channel | Pick the channel your hiring team watches, e.g. #hiring. | “Tell the hiring team in Slack” |
7. Add your booking link and hiring inbox
Open “Email the interview invite” to add your booking link and hiring inbox, and “Email the decline” to add the inbox there too.
| Setting | What to enter | In step |
|---|---|---|
| Your interview booking link | Replace the placeholder in the invite email with the link candidates use to book (your Calendly, Google Calendar booking page, etc.). It starts as “[YOUR INTERVIEW BOOKING LINK]” until you replace it. | “Email the interview invite” |
| Hiring inbox (invite email) | Candidates' replies to the invite come back to this address (Reply-to). | “Email the interview invite” |
| Hiring inbox (decline email) | Candidates' replies to the decline come back to this address (Reply-to). | “Email the decline” |
8. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
9. Switch the trigger on
Open the trigger, switch the webhook on and send your application form's submissions (including the résumé text) to its URL.
How it works
The agent is a normal workflow with 10 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- New application — Starts when your form or app sends data to the agent's webhook URL. Your careers page or application form posts each new application (with the résumé text) to the workflow's webhook URL.
- Screen against the role — AI step (runs on your AI provider key). AI checks the application against your must-haves and nice-to-haves, scores it 0–100 with the evidence, and recommends interview, hold or decline, with interview questions and a draft email.
- Interview, hold or decline? — Decision: picks the branch to follow. Follows the AI's recommendation; every candidate is logged, and no email goes out without a person approving it.
- Log the candidate in Google Sheets — Google Sheets: Add a row. Branch: Interview / Decline / Hold. Adds a row to your candidate pipeline sheet with the score, recommendation, must-haves, strengths and concerns.
- Logged — Kept in the run history. The run history keeps the screening for every candidate.
- Tell the hiring team in Slack — Slack: Post a message. Branch: Interview. Posts shortlisted candidates to your hiring channel with the score, evidence and suggested interview questions.
- Approve the interview invite — A person approves or rejects it in Reviews (the run waits). Branch: Interview. A recruiter checks the shortlist decision and the invite email in Reviews, edits it if needed and approves it.
- Email the interview invite — Sends an email from your workspace's sender. Branch: Approved. Sends the approved invite with your interview booking link, with replies going to your hiring inbox.
- Approve the decline — A person approves or rejects it in Reviews (the run waits). Branch: Decline. A recruiter confirms the decline in Reviews (no candidate is declined automatically) and approves the email.
- Email the decline — Sends an email from your workspace's sender. Branch: Approved. Sends the approved, kindly worded decline, with replies going to your hiring inbox.
Test it with Dry Run
Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. Edit the sample to match the fields your own form or app sends.
Sample data fields
name, email, phone, role, location, linkedin, resume_text, cover_letter, source.
- Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
- Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.
Go live
- Open the trigger, switch the webhook on and send your application form's submissions (including the résumé text) to its URL.
- The webhook is protected by a secret: send it in the header shown in the Activation panel (requests without it are refused with 403). Each request starts one run.
- The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
- When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.
Questions
Does it reject candidates automatically?
No. A decline is only a recommendation; a recruiter approves every email, invite or decline, in Reviews.
Can it read résumé PDFs?
It reads text. Send the résumé text from your form or ATS (most application forms can include it), or ask candidates to paste it.
Troubleshooting
- “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
- A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
- An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
- Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
- Nothing happens when your form sends data: check the webhook is switched on and the request carries the secret header (403 means it's missing or wrong).
- A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
- A step failed: open the run in History and check that step in the Trace tab for the error and what it received.
Generated from the agent's own workflow, so it always matches what the agent does. Last updated .