Browse the docs

Agent setup guide

Volunteer Shift Coordinator

Each volunteer sign-up matched to an open shift, confirmed by email with where, when and what to bring, and reminded the day before.

Available About 20 min to set up

What it does

Each volunteer sign-up matched to an open shift, confirmed by email with where, when and what to bring, and reminded the day before.

  • Starts from each new row your volunteer sign-up form adds to its Google Sheet.
  • Reads your open-shifts tab, leaves out past shifts in code, and AI matches the volunteer's availability and skills to an upcoming shift with spots left (only shifts and rules in your sheet).
  • Dates are worked out in code, never by the AI: days until or since each date, the window and business days are computed in your workflow's time zone, and records outside the window are skipped before the AI sees them.
  • Emails the confirmation: where, when, check-in, what to bring and who to ask — at once for routine matches; no match, minors, groups and special needs wait for the coordinator's approval.
  • Marks the volunteer's sign-up row with the status, the shift and when it was confirmed.
  • Waits until the day before the shift and emails a reminder (for shifts 2 to 30 days away, checked in code).

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Google Sheets, connected in Settings → Integrations.
  • A sign-up form that writes to a Google Sheet and an open-shifts tab you keep up to date.

What it doesn't do

  • Wait steps last at most 30 days: shifts further out get the confirmation but no reminder.
  • It doesn't change spots-open counts in your shifts tab — the coordinator does (the marked sign-up rows show who is on which shift).
  • It doesn't notice cancellations: cancel the volunteer's waiting run in History so no reminder is sent.
  • It doesn't run background checks or decide eligibility beyond the rules you write down; those cases go to the coordinator.
  • Rows already in the sheet before activation aren't processed.

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.
  • The app it watches, connected in Settings → Integrations (the agent starts from an app event).
  • 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 open your sign-up sheet and open-shifts tab (Settings → Integrations → Google Sheets).

3. Pick your sign-up sheet

Open the trigger, pick your Google account, paste the spreadsheet link and the tab your form adds sign-ups to.

SettingWhat to enterIn step
Google account (sign-up sheet)The Google account that can open your sign-up response sheet. Pick your connected Google Sheets account.“New volunteer sign-up”
Sign-up spreadsheetPaste the link of the spreadsheet with your sign-up (the trigger watches it for new rows).“New volunteer sign-up”
Sign-up tabThe tab your form adds sign-ups to, e.g. “Form Responses 1”.“New volunteer sign-up”

4. Pick your open-shifts tab

Open “Read your open shifts” and pick the account, spreadsheet and tab with one row per shift.

SettingWhat to enterIn step
Google account (open shifts)The Google account that can open your open-shifts tab. Pick your connected Google Sheets account.“Read your open shifts”
Open shifts spreadsheetPaste the link of the spreadsheet with your open shifts.“Read your open shifts”
Open shifts tabThe tab with one row per shift, e.g. “Open shifts”.“Read your open shifts”

5. Describe your organisation and check-in

Open “Match a shift and write the confirmation” and replace the placeholder with your time zone, check-in, rules and sign-off.

SettingWhat to enterIn step
Your organisation, time zone and check-inReplace the placeholder with your organisation's name, your time zone with its UTC offset (e.g. America/Chicago, UTC−5), where volunteers check in, what everyone should bring or wear, rules (minimum age, closed-toe shoes…), your coordinator's name and phone, and the sign-off. It starts as “[DESCRIBE YOUR ORGANISATION, YOUR TIME ZONE (WITH ITS UTC OFFSET), WHERE VOLUNTEERS CHECK IN, WHAT TO BRING, YOUR VOLUNTEER COORDINATOR AND SIGN-OFF HERE]” until you replace it.“Match a shift and write the confirmation”

6. Pick where sign-ups are marked

Open “Mark the sign-up row”, pick the same account, spreadsheet and tab as the trigger, and the first empty column to write to.

SettingWhat to enterIn step
Google account (mark sign-ups)The same Google account as the trigger, used to mark the sign-up row. Pick your connected Google Sheets account.“Mark the sign-up row”
Sign-up (to mark) spreadsheetPaste the link of the spreadsheet with your sign-up (to mark).“Mark the sign-up row”
Sign-up (to mark) tabThe same sign-up tab the trigger watches.“Mark the sign-up row”
First column to markLetter of the first empty column to the right of your form's answers (e.g. H): status, shift and confirmation time are written there and in the next two columns.“Mark the sign-up row”

7. Add your coordinator's email

Open “Email the confirmation” and “Email the reminder” and enter the address volunteers' replies should go to.

SettingWhat to enterIn step
Coordinator's email (Reply-to, confirmation)Volunteers' replies to the confirmation come back to this address.“Email the confirmation”
Coordinator's email (Reply-to, reminder)Replies to the day-before reminder come back to this address.“Email the reminder”

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 and click “Activate app trigger”. New sign-ups are picked up on your plan's schedule interval; rows already in the sheet aren't processed.

How it works

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

  • New volunteer sign-up — Starts on “New row” in Google Sheets (an app event). Starts a run for each row your volunteer sign-up form adds to its response sheet, checked on your plan's schedule interval.
  • Read your open shifts — Google Sheets: Read rows. Reads your open-shifts tab: one row per shift with the date, times, location, role or skills needed, spots open and what to bring.
  • Keep upcoming shifts — Step. In code, not AI: keeps only the shifts dated today or later and works out each one's weekday and long date, so past shifts never reach the matching step. “Today” is counted in UTC unless you set your time zone on this step.
  • Match a shift and write the confirmation — AI step (runs on your AI provider key). AI matches the volunteer's availability and skills to an upcoming shift with spots left (past shifts were left out in code), and writes the confirmation: where, when, what to bring and who to ask.
  • Confirm how? — Decision: picks the branch to follow. No email address: the coordinator follows up. Routine matches: confirmed at once. No match, minors, groups or special needs: approved first.
  • No email address — Kept in the run history. Branch: No email. No confirmation can be sent; the run history keeps the sign-up for your coordinator.
  • Approve the confirmation — A person approves or rejects it in Reviews (the run waits). Branch: Review first. The coordinator checks the match and the email in Reviews (edit the shift or the text), then approves to send.
  • Email the confirmation — Sends an email from your workspace's sender. Branch: Send without review / Approved. Emails the confirmation (where, when, what to bring) from your workspace's sender, with replies going to your volunteer coordinator.
  • Write the day-before reminder — AI step (runs on your AI provider key). AI takes the confirmation that was sent (including a reviewer's edits) and writes the day-before reminder. Whether a reminder is due is decided in code in the next step.
  • Mark the sign-up row — Google Sheets: Update a row. Writes the status (Confirmed / Needs a shift), the shift and the time into the volunteer's row of the sign-up sheet, starting at the column you pick.
  • Row marked — Kept in the run history. The sign-up row now shows the status and the shift.
  • Is a reminder due? — Step. In code, not AI: a reminder is sent only when the shift is 2 to 30 days away (Wait steps last at most 30 days) and the reminder time is tomorrow or later. Change the window here (within.min / within.max).
  • Send a reminder? — Decision: picks the branch to follow. Shifts 2 to 30 days away (checked in code) get a reminder the day before; the rest get only the confirmation.
  • No reminder needed — Kept in the run history. Branch: No reminder. The shift is tomorrow, more than 30 days away or wasn't matched; the date check's reason is in the run history.
  • Wait until the day before — Waits until a date taken from the data (at most 30 days). Branch: Remind the day before. Pauses the run until 24 hours before the shift starts (at most 30 days).
  • Email the reminder — Sends an email from your workspace's sender. Sends the day-before reminder with the shift, time, place and what to bring.
  • Reminded — Kept in the run history. The run history keeps the reminder that was sent.

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. The sample has the same shape as a real event from the app.

Sample data fields

sheet, row._row, row.Timestamp, row.Full name, row.Email, row.Phone, row.When are you available?, row.What would you like to help with?, row.Any skills we should know about?, row.Are you 18 or older?, row_number.

  • 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.
  • Wait steps don't wait: they report how long they would wait and the run goes on.

Go live

  • Open the trigger and click “Activate app trigger”. New sign-ups are picked up on your plan's schedule interval; rows already in the sheet aren't processed.
  • Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
  • 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 open-shifts tab look like?

One row per shift with Shift (or role), Date, Start, End, Location, Skills needed, Spots open and What to bring. Column names can vary; the agent reads them from the header row. Keep Spots open up to date — the agent doesn't change it.

What does it write in the sign-up sheet?

Three cells in the volunteer's row, starting at the column you pick (e.g. H): the status (Confirmed / Needs a shift), the shift and date, and when it was confirmed. Pick empty columns to the right of your form's answers.

What if a volunteer cancels?

Cancel their waiting run in History so the reminder isn't sent, and free the spot in your shifts tab.

How are the dates worked out?

In code, not by the AI: past shifts are left out before matching (“Keep upcoming shifts”), and “Is a reminder due?” sends a reminder only for shifts 2 to 30 days away. “Today” is counted in UTC unless you set your time zone on those two steps.

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.
  • No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
  • A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
  • A run shows “Waiting until …” in History: that's a Wait step; it continues on its own (it can be cancelled through the API).
  • 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 .