Payroll pre-check
By Toolspoke
Checks Gusto each weekday for a payroll due within two business days and posts what changed since the last one to a private Slack channel.
Needs a Toolspoke account. You choose which project it installs into.
- Gusto + Slack
- Required integrations
- Runs on a schedule
- Weekdays at 9am by default
- Post one message
- What its last step does
- Nothing destructive
- 0 of 24 actions in its tools
On this page
The short version
- What it is
- A ready-made Toolspoke agent that checks Gusto before each payroll and tells the approver what changed.
- What it reads
- Upcoming and past payrolls, pay schedules, employees, approved time off and contractor payments.
- Where it posts
- One private Slack channel, chosen when you set it up.
- What it flags
- New hires, leavers, approved time off, contractor payments and anyone whose gross pay moved by more than your threshold.
- How often
- Every weekday at 9am once you switch it on. If no payroll is due in the next two business days it posts nothing.
- What it never does
- Run, change or cancel a payroll, or post anyone's pay.
- What you need
- A Toolspoke account, a Gusto admin sign-in and a Slack workspace with a private channel.
What Payroll pre-check does
Payroll pre-check is an AI agent that watches Gusto for a payroll about to be run and posts what is different from the last one, so the person approving it knows where to look.
Most payroll mistakes are not arithmetic. They are a leaver still being paid, a new hire who was never added, or a pay rise agreed in a meeting and never entered. Gusto calculates what it is told, so the check has to be done by a person who knows what changed.
That check is easy to skip when payroll is due on a busy morning. Payroll pre-check does the looking up for you: it finds the coming payroll, compares it with the last processed one, and lists the differences by name.
It posts names, dates and percentages, never amounts, and it only posts to a private channel. Pay is the most sensitive number a company holds.
In practice, two business days before a payroll you get one message, and on other days nothing:
- New hires and leavers since the last payroll, with their dates
- Approved time off in the coming pay period
- The count of contractor payments since the last payroll
- Anyone whose gross pay moved by more than your threshold, as a percentage
How it works
Payroll pre-check works in four steps each weekday morning: it looks for a payroll due soon, compares it with the last one, gathers the changes and posts one message. All of it comes from the agent's written instructions, which you can read and edit after you install it.
Step 1: Look for a payroll
It checks for an unprocessed payroll whose deadline or check date is within two business days.
Step 2: Compare with the last
It reads the last processed payroll on the same schedule.
Step 3: Gather the changes
It reads joiners, leavers, time off, contractor payments and pay changes.
Step 4: Post one message
It posts names, dates and percentages to your private channel.
It looks two business days ahead
The agent reads list_pay_schedules and list_payrolls for unprocessed payrolls, and keeps any whose payroll deadline or check date is today or in the next two business days. Weekends do not count. Most weekdays nothing is due, and it posts nothing.
It compares with the last processed payroll
It reads both payrolls with get_payroll. For each employee in both, it compares gross pay. If the coming payroll has not been calculated yet, it compares the employee's current compensation from get_employee with what was paid last time.
It uses your threshold
The threshold for a pay change is set at install. If it is not set, the agent uses 10% and says so in the post, so it is never a hidden default.
It keeps pay out of Slack
It posts names, dates and the percentage a person's gross pay moved, and never a salary, rate, amount or bank detail. It is also told not to post at all when the channel is public. The limits are listed under what it will never do.
What a pre-check message looks like
A message from Payroll pre-check is a single Slack post in a private channel. It names the payroll and its deadline, then lists what changed since the last one.
Harbour & Pine
Channels
- # payroll-private
- # finance
- # people
- # general
# payroll-private
Semi-monthly payroll, deadline Wednesday 13 November, check date Friday 15 November. Threshold 10%, set at install.
Check before approving (2)
- Owen Fitch left on 7 November. Still on this payroll.
- Lena Brandt, gross pay up 14% on the last payroll.
Worth knowing (3)
- Priya Nair joined on 3 November.
- Sam Ito, approved time off 10 to 12 November.
- 6 contractor payments to 4 contractors since 31 October.
Compared with
The regular payroll paid on 31 October.
- Check before approving
Leavers and pay changes above the threshold. These are the lines most likely to mean a payroll needs a fix.
- Worth knowing
New hires, approved time off and contractor payments. Each one is normal, but the approver should know it is there.
- Compared with
The payroll it compared against, so you can open the same two in Gusto and check.
Why it usually says nothing
Most weekdays no payroll is due within two business days, and Payroll pre-check posts nothing. A daily all clear would teach people to ignore the channel.
A failed run is different. If Gusto cannot be read, it posts that once, because a missed check looks the same as a quiet day.
Who uses Payroll pre-check
Payroll pre-check suits any company that runs payroll in Gusto and wants a second look before approving it. The examples use made-up names.
A founder who runs payroll herself
Ada Mensah approves payroll between meetings. The message tells her which two names to check, so she does not have to read every line.
An operations lead with a growing team
Kofi Boateng hires most months. The new hire list catches the person whose onboarding was finished late.
A finance manager checking raises
Hanna Lindqvist signs off pay changes. A change above the threshold shows up as a percentage, so she can match it to the approved raise.
A people team tracking leave
Rafael Costa needs to know who is on unpaid leave. The time off list shows who to look at before the payroll locks.
What Payroll pre-check connects to
Payroll pre-check connects to two tools: it reads Gusto and posts to Slack. You connect each one yourself, and Toolspoke stores the connection encrypted, so the agent never sees the credential.
Gusto
RequiredRead a company's employees, contractors, payrolls, pay schedules, departments and time off.
Authentication: Sign in with Gusto
Slack
RequiredSearch conversations and send messages to your workspace.
Authentication: Bot token
| Tool | What Payroll pre-check does | What it cannot do |
|---|---|---|
| Gusto | Reads payrolls, pay schedules, employees, time off and contractor payments (list_payrolls, get_payroll, list_pay_schedules, list_employees, get_employee, list_time_off_requests, list_contractor_payments). | Run, submit, change or cancel a payroll, or change an employee: the connector has no action for any of them. Every Gusto action is a read. |
| Slack | Posts one message with send_message, to a channel. | Delete messages: the connector has no delete action. It can post to any channel the bot is in, so the private channel rule is an instruction. |
The Gusto connection is read only, which is a property of the connector, not only of the instructions. Nothing this agent does can change a payroll.
Keeping pay amounts out of Slack and posting only to a private channel are instructions. To be sure, add the Toolspoke bot only to the private payroll channel. The access control guide explains how connections are scoped.
The activity log records each call, but Gusto reads that name a person or their pay keep only that the call happened. The message posted to Slack is stored.
What Payroll pre-check will never do
Payroll pre-check never runs, changes or cancels a payroll, and is told never to post anyone's pay. It reads Gusto and tells the approver where to look.
- Run, submit, change or cancel a payroll, or change an employee's record.
- Post a salary, an hourly rate, a gross or net amount, a bank detail, a tax id or an address.
- Post to a public channel, or to a direct message with someone who does not approve payroll.
- Say a payroll is wrong.
Why it cannot touch payroll
The Gusto connector only reads. There is no action to run a payroll, change an employee or cancel a payment, so even a mistaken instruction cannot reach one.
What it keeps out of Slack
A Slack channel is easy to share and easy to screenshot. The agent posts names, dates and percentages, never amounts, and never to a public channel.
Why it does not say a payroll is wrong
A pay change may be an approved raise, and a leaver may be owed a final payment. The agent says what changed, and the person who knows decides.
If something goes wrong
If Gusto cannot be read on a day a payroll might be due, post that once, because a missed check looks the same as a quiet one. If the last processed payroll cannot be found, say so, list the joiners, leavers and time off you could read, and skip the pay comparison. If an employee's compensation is missing, name them under pay changes as "could not compare".
These are written into Payroll pre-check's instructions. They guide the agent, but they are not a permission. What it is allowed to touch is set by the access you grant.
Payroll pre-check reads Gusto and reports what changed. Approving and running payroll stays with a person.
When Payroll pre-check runs
Payroll pre-check runs every weekday at 9am, but only after you switch its schedule on. It arrives switched off, so nothing runs and nothing is charged until you decide.
- Each run checks for a payroll due in the next two business days.
- When nothing is due, it posts nothing.
- When a payroll is due, it posts one message to your private channel.
- If Gusto cannot be read, it posts that once.
Each run uses model credit from your workspace balance, even when nothing is due, so it makes about five runs a week. The Gusto and Slack calls themselves are free.
Your copy is an ordinary agent in your project. You can pause its schedule there, run it once on demand, change the days and time and edit its instructions. The agent's page lists recent runs and their cost.
How to set up Payroll pre-check
To check payroll before it runs, add Payroll pre-check to a Toolspoke project, connect Gusto and Slack, choose a private channel and switch on the schedule. It takes a few minutes, and nothing runs until the last step.
Step 1: Create a Toolspoke account or sign in
Choose Use this agent. If you are new, you will be asked to sign up first, and you come straight back to this agent afterwards.
Step 2: Add it to a project
Pick the project it should live in. You get your own editable copy, and you can see the two tools it brings before anything connects.
Step 3: Connect Gusto
Choose Sign in with Gusto and approve access as a payroll admin. The connection only reads, and it is stored encrypted.
Step 4: Create a private Slack channel
Make a private channel for the people who approve payroll, and add the Toolspoke bot to it. Then choose Sign in with Slack and approve the app.
Step 5: Set the channel and threshold
Name the private channel and the pay change threshold in the instructions. If you leave the threshold out, it uses 10% and says so.
Step 6: Switch on the schedule
The schedule arrives switched off. Run it once to see what it finds, then switch it on.
Make Payroll pre-check fit your company
Payroll pre-check's instructions are plain English and you can edit them after you install it. Installing copies the agent, so your edits stay with your copy. Open the agent in Toolspoke and tell the builder what to change, and it rewrites the instructions.
Paste any sentence below into the builder chat, or say the same thing in your own words.
Flag any change in gross pay of more than 5%.
Check for payrolls due in the next three business days, not two.
Mention @hanna at the start of every message.
Do not read or report contractor payments.
Only check regular payrolls, not off-cycle ones.
None of these edits needs more access or touches the Never rules. They change what Payroll pre-check is told, not what the connections allow.
How it compares to other options
Payroll pre-check beats the alternatives when you want the changes since the last payroll listed for you before you approve, and loses to them when you need a full audit of every line.
| Compared on | Payroll pre-check | Gusto's own review screen | A spreadsheet checklist | Your accountant |
|---|---|---|---|---|
| Lists what changed since last time | Yes | Partly | If you fill it in | Yes |
| Arrives before the deadline on its own | Yes, two business days ahead | No, you open it | No | If you ask |
| Keeps pay amounts out of chat | Yes, by its instructions | Not in chat | Depends on sharing | Yes |
| Can change a payroll | No, the connector cannot | Yes | No | Depends on access |
| Checks every line of the payroll | No, only the changes | Yes | If you build it | Yes |
| Setup effort | Connect two accounts | None | Build and update it | An engagement |
Gusto's own review screen is still where you approve. It shows every line, and Payroll pre-check tells you which lines to look at first.
An accountant is the better choice when you need payroll checked against tax rules and contracts. Payroll pre-check only lists what changed.
Frequently asked questions
Can Payroll pre-check run or change a payroll?
No. Every action on the Gusto connector is a read, so the connection cannot run, submit, change or cancel a payroll, or change an employee.
Does it post salaries to Slack?
No. It is told to post names, dates and the percentage a person's gross pay moved, never an amount, and only to a private channel. Add the Toolspoke bot only to that channel to be sure.
What if the channel I chose is public?
It posts one line saying it needs a private channel, and stops without posting any payroll detail.
What if I do not set a threshold?
It uses 10% and says so in the message.
Why does it post nothing most days?
It only posts when a payroll's deadline or check date is within two business days. On other days there is nothing to check.
What if the coming payroll has not been calculated yet?
It compares each employee's current compensation in Gusto with what they were paid last time, and says that is what it compared.
Is Payroll pre-check free?
It has no price of its own, and every Toolspoke plan includes agents. Tool calls cost nothing, but each run draws on your usage balance. Pricing has the details.
Know what changed before you approve payroll
Connect Gusto and Slack, choose a private channel and switch on the schedule. Your first message arrives two business days before your next payroll.