Launch a whole batch of runs from one spreadsheet

When it's time to kick off the same workflow for a long list — every store, every new hire, every client — don't start them one at a time. Upload a spreadsheet and Manifestly creates up to 200 runs at once, each with its own name, dates, and people.

Start a free trial — no credit card required.

new-store-openings.csv 200 rows max
workflow_id checklist_run_name start_date due_date participants
4821Open — Denver09/02/202609/16/2026dana@acme.co
4821Open — Austin09/09/202609/23/2026priya@acme.co
4821Open — Boise09/16/202609/30/2026alex@acme.co
4821Open — Reno09/23/202610/07/2026jordan@acme.co
Each row becomes its own scheduled run of the same workflow.

Skip the “start a run… repeat 80 times”

Onboarding a class of new hires, rolling out to every location, or scheduling a quarter of client reviews shouldn't mean clicking Start run over and over and re-typing the same details. Put the whole list in a spreadsheet and import it in one pass.

One run at a time
  • Start, name, and schedule each run by hand
  • Re-assign the same people again and again
  • Easy to fat-finger a date or miss one
Import a spreadsheet
  • Up to 200 runs created in a single import
  • Dates, people, tags, and Slack set per row
  • Every row is validated before it goes live

From spreadsheet to live runs in three steps

1

Upload your file

Fill in a row per run using the standard column headers, then upload the CSV and pick the date format your spreadsheet uses. Grab the run import template so your columns line up.

2

Preview & fix

Manifestly reads every row and shows you exactly what it found — the record count, the parsed dates and people, and any errors or warnings. Nothing is created yet.

3

Import

Once every row checks out, confirm the import. Each row starts a run of its workflow — named, scheduled, assigned, tagged, and wired to Slack, all at once.

One row, one run — and every detail comes along

Each column controls one thing about the run it creates. Fill in what you need and leave the rest blank.

workflow_idWhich workflow to run. Every row points at a published workflow you're allowed to start.
checklist_run_nameThe name this run shows up under, so a batch of identical workflows stays easy to tell apart.
start_dateWhen the run should begin. Leave it blank to start right away, or set a future date to schedule it.
due_dateWhen the run is expected to be complete, so it lands on the right due-date reports.
participantsEmail addresses, comma-separated, of the people who should be on the run.
tagsComma-separated tags applied to each run, so you can filter and report on the whole batch.
slack_channelThe Slack channel this run posts its updates to.
external_idYour own reference — a ticket, case, or order number — stored on the run to tie it back to your systems.
<Role> roleAny column ending in “role” assigns that workflow role to a person by email — e.g. an Approver role column.

See exactly what will happen — before it does

Uploading doesn't create anything. Manifestly parses your file into a preview: the total record count, and every row spelled out with its interpreted dates, participants, and roles. Rows are checked one by one so mistakes surface while they're still easy to fix.

  • A row with a problem — an unknown workflow, a mis-typed role, a date that doesn't match your format — is flagged with a clear message.
  • Softer issues, like a participant email that isn't a user yet, come back as warnings rather than blockers.
  • If anything fails, fix the file and re-evaluate — or upload a fresh one. The import only runs when you say so.
Preview of importRecord count: 4
Open — Denver
Starts Sep 2, 2026 · due Sep 16 · dana@acme.co
Ready
Open — Austin
Starts Sep 9, 2026 · due Sep 23 · priya@acme.co
Warning
User not found — priya@acme.co will be invited on import.
Open — Boise
Due date: not a valid date. Expected format: MM/DD/YYYY
Fix
enabled once every row is valid

Dates the way your spreadsheet already writes them

Tell Manifestly which date format your file uses and it reads start_date and due_date accordingly — no reformatting a column of dates by hand. Dash, slash, and dot separators are all interchangeable, and unambiguous YYYY-MM-DD dates are recognized automatically.

  • Give each run a future start_date to schedule it, or leave it blank to begin immediately.
  • Picked the wrong format? Switch it and re-evaluate the same file — no re-upload needed.
DD/MM/YYYY31/01/2026 MM/DD/YYYY01/31/2026 DD-MMM-YY31-Jan-26 YYYY-MM-DDauto-detected

Put the right people on every run

List participants by email to add them to a run. Need to fill a specific spot — the approver, the reviewer, the site lead? Add a column named for that role and drop in the person's email; Manifestly assigns them to the matching workflow role. Emails that aren't users yet are invited as the import runs.

participants Approver role Reviewer role Owner role
Row → run assignments
checklist_run_nameparticipantsApprover roleReviewer role
Open — Denverdana@acme.cosam@acme.colee@acme.co
Open — Austinpriya@acme.cosam@acme.colee@acme.co
The Approver role and Reviewer role columns map straight onto the roles defined in the workflow.

Made for the big, repeatable rollouts

New-hire onboarding

Start an onboarding run for every person in the incoming class in one go.

One row per hire → each gets a named run, a start date on their first day, and their manager assigned.

Multi-site rollouts

Run the same opening or audit workflow across every location on a staggered schedule.

One row per site → staggered start dates and the local lead assigned to each run.

Client & account work

Schedule a quarter of client reviews or renewals from your CRM export.

One row per account → due dates and an external_id that links each run back to the record.

Importing runs, answered

Up to 200 runs in a single import. Each row in your spreadsheet becomes one run.

A CSV with a header row. The importer expects specific column names — workflow_id, checklist_run_name, start_date, due_date, external_id, participants, tags, and slack_channel, plus any role columns you add. Download the run import template so your headers match.

No. Uploading builds a preview only. Manifestly evaluates every row and shows the record count, the parsed values, and any errors or warnings. Runs are created only after you review the preview and confirm the import.

Choose DD/MM/YYYY, MM/DD/YYYY, or DD-MMM-YY when you upload. Dash, slash, and dot separators are interchangeable, and YYYY-MM-DD is recognized automatically. If you pick the wrong one, switch the format and re-evaluate the same file.

List email addresses in the participants column to add people to a run. To fill a specific workflow role, add a column named for that role (for example Approver role) and put the person's email in it. Emails that aren't users yet are invited as the import runs.

The preview flags it with a clear message — an unknown or unstartable workflow, a role that doesn't exist, or a date that doesn't match your chosen format. Fix the file and re-evaluate, or upload a corrected one. The import only proceeds when every row is valid.

Account admins. Each row also has to point at a workflow the importing admin is allowed to start.

Other Features

Design your process

Workflow Customization

Shape exactly how each workflow behaves — logic, data, timing, and documentation.

Trusted by organizations big and small for their recurring workflows

Compass logo
Sheraton logo
Foxconn logo
Coldwell logo
Plural Sight logo
BDO logo
KW logo
UT Austin logo

Import Workflow Runs from a Spreadsheet

With Manifestly, your team will Never Miss a Thing.