Browse the docs

Agent setup guide

Job Post & Interview Scorecard Writer

Turns a hiring manager's intake into an inclusive job post, an interview scorecard and screening questions, checked for exclusionary language.

Available About 15 min to set up

What it does

Turns a hiring manager's intake into an inclusive job post, an interview scorecard and screening questions, checked for exclusionary language.

  • Starts from each hiring manager's intake posted to its webhook.
  • Reads your house style and hiring policy page in Notion and AI writes an inclusive, plain-language job post with the pay range when you set one.
  • Adds a structured interview scorecard (4–6 competencies, a 1–4 rubric and 2 questions each) and 5 job-related screening questions.
  • A second AI pass checks everything for exclusionary or biased wording and protected-characteristic requirements, fixes it and lists the changes.
  • Saves it all to your Notion roles database for the hiring manager to approve, then tells the recruiter in Slack.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Notion and Slack, connected in Settings → Integrations; a style page and a roles database in Notion.
  • A hiring intake form that can post JSON to a webhook.

What it doesn't do

  • It drafts and organises hiring material for a person to approve; it makes no legal or eligibility decision and never screens or ranks candidates.
  • It uses fair, inclusive language and never adds requirements tied to protected characteristics; pay-transparency and posting laws are yours to apply.
  • It doesn't post to job boards and doesn't screen applicants (that's HR & Recruitment Screening).

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: Notion and Slack.
  • A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
  • About 15 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 Notion

Connect Notion and share your style page and roles database with the Fluxo Flow integration (Settings → Integrations → Notion).

3. Connect Slack

Connect the Slack workspace your recruiters use (Settings → Integrations → Slack).

4. Add your company details

Open “Write the post and scorecard” and replace the placeholder with your company blurb, benefits, equal-opportunity statement and accommodation contact.

SettingWhat to enterIn step
Your company detailsReplace the placeholder with your company name and description, benefits, equal-opportunity statement, accommodation contact and any posting rules you follow. It starts as “[PASTE YOUR COMPANY NAME, A SHORT DESCRIPTION OF THE COMPANY, YOUR BENEFITS, YOUR EQUAL-OPPORTUNITY STATEMENT, YOUR ACCOMMODATION CONTACT AND ANY POSTING RULES YOU FOLLOW (E.G. ALWAYS INCLUDE THE PAY RANGE) HERE]” until you replace it.“Write the post and scorecard”

5. Pick the style page and roles database

Open “Read your house style & hiring policy”, “Save it to Notion” and “Mark it approved” and pick the account, page and database.

SettingWhat to enterIn step
Notion account (style page)The Notion workspace with your house style page. Pick your connected Notion account.“Read your house style & hiring policy”
House style & hiring policy pagePaste the link of the Notion page with your voice, words to use or avoid and hiring rules. Share it with Fluxo Flow first.“Read your house style & hiring policy”
Notion account (roles database)The Notion workspace with your roles database. Pick your connected Notion account.“Save it to Notion”
Roles databaseThe database job posts are saved to, with properties Name (title), Status (select: Draft / Approved) and Hiring manager (email).“Save it to Notion”
Notion account (mark approved)The same Notion workspace, used to mark the post approved. Pick your connected Notion account.“Mark it approved”

6. Pick the recruiting channel

Open “Tell the recruiter” and pick the account and channel.

SettingWhat to enterIn step
Slack accountThe Slack workspace your recruiters use. Pick your connected Slack account.“Tell the recruiter”
Recruiting Slack channelThe channel the recruiter watches, e.g. #recruiting.“Tell the recruiter”

7. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

8. Switch the trigger on

Open the trigger, switch the webhook on and copy its URL and secret into your hiring intake form.

How it works

The agent is a normal workflow with 9 steps (2 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • Hiring manager intake — Starts when your form or app sends data to the agent's webhook URL. Starts when your hiring intake form posts here: role, team, must-haves, nice-to-haves, pay range, location, work arrangement and why the role exists.
  • Read your house style & hiring policy — Notion: Read a page's text. Reads your Notion page with your house style, company blurb, benefits and hiring rules.
  • Write the post and scorecard — AI step (runs on your AI provider key). AI writes an inclusive job post (plain language, pay range when you set one), a structured interview scorecard (4–6 competencies with a rubric) and 5 screening questions, from the intake and your house style only.
  • Check for exclusionary language — AI step (runs on your AI provider key). A second AI pass reads the post, scorecard and questions like an inclusion reviewer: it flags and fixes exclusionary or biased wording and any requirement tied to a protected characteristic, and lists what it changed.
  • Save it to Notion — Notion: Create a page in a database. Creates a page in your roles database with the post, scorecard, screening questions and the language check (status Draft).
  • Hiring manager approves — A person approves or rejects it in Reviews (the run waits). The hiring manager reads the Notion page (link in the run) and the language check, edits the page in Notion if needed, and approves. Reject to leave it as a draft.
  • Mark it approved — Notion: Update page properties. Branch: Approved. Sets the Notion page's Status to Approved.
  • Tell the recruiter — Slack: Post a message. Posts the approved post's link and the language-check summary to your recruiting channel.
  • Ready to post — Kept in the run history. The run history keeps the draft, the language check and the Notion link.

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

role, team, hiring_manager_email, must_haves, nice_to_haves, pay_range, location, work_arrangement, why_the_role_exists, start_date.

  • 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 copy its URL and secret into your hiring intake form.
  • 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

What should the intake form send?

A JSON POST with role, team, hiring_manager_email, must_haves, nice_to_haves, pay_range, location, work_arrangement, why_the_role_exists and start_date. Your form posts it with the webhook's signature header.

What's on the style page?

Anything that shapes your posts: voice and words you use or avoid, a company blurb, how to apply, interview stages. The agent reads the page's top-level text (not text inside toggles).

Does it handle pay-transparency laws?

No. It includes the pay range you give and leaves a clear [PAY RANGE] placeholder when you don't; which rules apply in each location is yours to check.

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 .