It tells you its job first. Then it asks before the risky parts.
One master job description, adapted and published across every channel you use. Talent pools kept warm. Sourcing against your hiring plan. Cost per qualified applicant tracked by channel. And nothing published under your company’s name until you’ve said yes.
- Read-only by default
- Dry run before anything real
- Every action logged
I’ve set up a starting configuration from your hiring data. Here are the five things I’ll take on.
Working on live data from your hiring module. Every run is written to the log under agent://job-posting@tanca v2.0.
- 01Check a role is ready to post — job description, closing date, salary band, benefits. Reads the competency library rather than inventing requirements.
- 02Write one master job description, then adapt it per channel — careers site, internal groups, Facebook and LinkedIn, Zalo OA, external job boards, referral programme.
- 03Keep talent pools warm — identify which pools to nurture and send periodic updates by email and Zalo OA.
- 04Source on LinkedIn against your hiring plan.
- 05Track cost per qualified applicant by channel, and propose switching off channels that aren’t producing — with a cancellation window.
The same job post, retyped six times, by the most expensive person available.
A role opens. Someone writes the description, then rewrites it shorter for Facebook, differently for LinkedIn, again for the Zalo group, again for the external board with its own field limits, and once more for the internal referral note. Then does it again when the salary band changes.
Meanwhile the parts that would actually fill the role faster — keeping past applicants warm, sourcing against next quarter’s plan, noticing that one paid channel has produced nothing in two months — never happen, because they’re nobody’s specific job and there’s always a more urgent one.
This is the shape of work an agent is genuinely good at: repetitive, well-defined, and currently not being done.
Five tasks, written as a job description because that’s what it is.
Turn any of them off individually. An agent doing four things you want is better than one doing five where one makes you nervous.
Check the role is ready
Confirms the description, closing date, salary band and benefits are complete before anything goes out. Reads requirements from your competency library instead of inventing them.
Never: writes competency requirements itself.
One description, every channel
Writes a master version, then adapts length, tone and structure for each channel’s format — careers site, internal groups, Facebook, LinkedIn, Zalo OA, external boards, referrals.
Asks first: before anything publishes under your company’s name.
Keep talent pools warm
Identifies which pools are worth nurturing for upcoming roles and sends periodic updates by email and Zalo OA.
Never: contacts anyone whose consent status doesn’t allow it.
Source against the plan
Searches LinkedIn for profiles matching roles in your hiring plan, and brings candidates back for you to review.
Asks first: before sending any outreach message.
Watch what each channel costs
Tracks cost per qualified applicant by channel and proposes switching off the ones that aren’t producing.
Asks first: with a cancellation window before any channel is switched off.
Every task has a boundary written next to it, in the product and here, because a capability list without one is just a list of things that might happen to you.
The reason companies actually switch this on.
The objection to hiring automation is almost never “can it do the work”. It’s “what happens when it does something under our name that we didn’t sanction”, and no amount of capability answers that.
So the agent states its limits before its abilities. It will not publish as your company without approval. It will not message a candidate whose consent status doesn’t allow contact. It will not switch off a paid channel without showing you the numbers and giving you a window to cancel.
Anything in that category goes to a waiting queue with the draft attached, and sits there until a person acts. Not a notification you can miss — a queue with items in it.
- Limits stated before capabilities
- A queue, not a notification
- Nothing expires into approval
Four sources, named, read-only.
It isn’t a general model guessing at plausible job posts. It reads your candidate records, your competency library, your interview panel calendar and your salary bands by job grade — and the permission on each one is stated where you can see it.
Read-only means read-only. Nothing writes back to those sources. When the agent produces something — a post, a message, a channel recommendation — that output goes to you, and you decide whether it becomes real.
Add or remove a source at any time. Remove the salary bands and it stops referencing pay; it doesn’t guess.
- Every source named on screen
- Read permission stated per source
- Removable at any time
It runs on a small sample first, and you watch.
Nothing published, nothing sent, nothing switched off. Just the output it would have produced, on real data, for you to read.
What it did, when, under which version.
An automated system acting on your behalf needs a record that isn’t a memory. Every run writes one, and the log is read-only for everyone including us.
Approvals name a person.
Not “approved” — approved by a named colleague, at a time.
Refusals are recorded too.
A cancelled proposal stays in the log, so a pattern of bad suggestions becomes visible rather than anecdotal.
Versioned.
Every entry records which version of the agent produced it, so behaviour that changes between versions is traceable.
Cost per qualified applicant, not cost per click.
Almost nobody reviews channel spend, because doing it properly means joining spend data to outcome data and that has always been an afternoon’s work in a spreadsheet.
The agent tracks it continuously: what each channel costs, how many applicants it produced, how many of those met the role’s requirements, and what that works out to per qualified applicant. When a channel produces nothing for long enough, it proposes switching it off.
It proposes. It doesn’t cancel your contracts. There’s a cancellation window and the numbers are attached, so the decision is yours with the evidence in front of you.
- Qualified applicants, not raw volume
- Continuous, not a quarterly review
- Proposes, with a cancellation window
Agent runs use your monthly allowance.
Most of Career GPS is unlimited. The agents are one of the three things that aren’t.
Draws on your AI allowance
- Dry runs count as a run [CONFIRM]
- Work already done is never undone at zero remaining
- Credits are self-serve
Unlimited and free
- Configuring an agent
- Reading the run log
- Reviewing the approval queue
- Channel cost reporting
- Publishing manually
- Everything in Pipeline, Talent Pool, Assessments, Competency Framework, Pre-Onboarding and Reports
At zero remaining, agents pause. Your posts stay published, your queue stays reviewable, and nothing you approved gets rolled back.
This is one of five.
Zola
Adapts and publishes roles across every channel, tracks cost per qualified applicant.
You’re reading this oneIris
Reads CVs against your competency framework and routes candidates to the right next step.
Learn more →Orin
Conducts a scored first-round interview against the role’s competency requirements.
Learn more →Remy
Drafts and tracks offer letters, with salary band checks before anything goes out.
Learn more →Hana
Manages the checklist from signed offer to the end of probation.
Learn more →They share one allowance and one log. Turn on as many or as few as you want.
Measured inside the product.
Food retail chain · 22 stores
of posting work removed per role after the first month [CONFIRM]
Logistics company · 3 warehouses in the south
paid channels retired after cost data showed no qualified applicants in 90 days [CONFIRM]
Hotel group · Đà Nẵng and Hội An
applications per role from the careers page alone, after consistent posting [CONFIRM]
You’ll see the same figures in your own run log from the first role.
Questions people ask before switching it on.
Can it post under our company name without us knowing?
No. Publishing under your name always goes to an approval queue with the draft attached, and stays there until a person acts. Nothing expires into approval.
What data can it read?
Four named sources: candidate records, your competency library, the interview panel calendar and salary bands by job grade. Read-only, listed on screen, removable at any time.
Can it write to our records?
No. Its outputs come to you, and become real only when you approve them.
Will it message candidates?
Only where consent allows, and outreach messages go through approval. Talent pool updates go to people who consented to contact.
Can it cancel our job board contracts?
No. It can propose switching a channel off, with the numbers attached and a cancellation window. The decision is yours.
What if it gets something wrong?
Run a dry pass first and read the output. If you decline a proposal, that’s recorded too, so a pattern of bad suggestions is visible rather than anecdotal.
Can we turn off individual tasks?
Yes. Any of the five, independently.
How many runs are included?
[CONFIRM] per month, shared across all six agents. One complete task — publishing a role across all your channels — is one run, not six.
What happens when we run out?
Agents pause. Published posts stay published, the queue stays reviewable, and nothing is rolled back.
Is there a record of what it did?
A read-only log, per run, with the action, the time, the approving person and the agent version.
Read its job description before you use it.
Set it up, read what it says it’ll do, run a dry pass. Nothing goes live until you say so.
Start free- Read-only by default
- Dry run first
- Every action logged