What this workflow does
- DocuSign envelope completed (Webhook with basic auth) receives DocuSign Connect events.
- Parse offer envelope (Code) reads the new hire’s details from the envelope’s custom fields, validates them, and builds a checklist with due dates relative to the start date. Employees get Form I-9 reminders (Section 1 by day one, Section 2 within three business days); contractors get a W-9 and agreement task instead. Missing fields go to the exceptions channel.
- Create employee in BambooHR creates the record and returns its ID.
- Shape hire record (Edit Fields) and Add to onboarding tracker (Google Sheets) store one row per hire, the state other workflows can update.
- Fan out checklist (Code) and Create checklist task (Asana) create each dated task for HR, IT and the manager, with remote hires getting an earlier laptop shipping date.
- Draft first-week plan with Claude (HTTP Request) writes a five-day plan, first-month goals and questions for the manager, using only role, department, location, worker type and manager notes.
- Parse plan draft (Code) and Plan OK? (If) handle refusals, missing output and malformed plans.
- Post draft for manager review (Slack) shares the draft, clearly marked as not yet sent to the new hire.
- Post exception to Slack collects every failure.
Before you import
- A DocuSign account with Connect enabled (check that your plan includes it), and an offer template with text custom fields: first_name, last_name, job_title, department, manager_email, start_date, worker_type, work_location, manager_notes.
- A BambooHR API key with permission to create employees. Tax forms, direct deposit and handbook acknowledgment stay in BambooHR’s own onboarding flow.
- An Anthropic API key. The template uses
claude-opus-5-5;claude-haiku-5-5is cheaper for high-volume, simple classification. - Asana, a Google Sheet for the tracker, and Slack.
Setup
- Import the JSON and connect BambooHR, Google Sheets, Asana, Anthropic and Slack. Create an HTTP Basic Auth credential for the webhook.
- In DocuSign Connect, send “Envelope Completed” events in JSON with custom fields and basic auth to the production webhook URL. Limit it to your offer template.
- Create a Hires tab with the headers listed in the sticky note and replace
REPLACE_WITH_SHEET_ID. - In Fan out checklist, fill
OWNERSandMANAGERSwith Asana user IDs. - Replace
REPLACE_WITH_ASANA_WORKSPACE_ID,REPLACE_WITH_ASANA_ONBOARDING_PROJECT_ID,REPLACE_WITH_SLACK_HR_CHANNEL_IDandREPLACE_WITH_SLACK_EXCEPTIONS_CHANNEL_ID.
Test it
Send a test offer to yourself with a start date three weeks out and worker type “employee”, then sign it. Check BambooHR for the new record, the tracker for one row, and Asana for twelve tasks with sensible dates, including I-9 Section 2 three business days after the start. Repeat as a contractor and confirm the I-9 tasks are replaced by the W-9 task. Then send an envelope with start_date left blank to see the exceptions message.
Make it production-ready
- Check whether the hire already exists in BambooHR before creating, so a resent envelope does not duplicate the record.
- Add company holidays to the due-date calculation.
- Add a role-to-access table and create identity provider accounts from it, as described in the guide.
- Use a Slack approval step so the manager approves the plan before it is sent to the new hire.
- Add an n8n error workflow, and run two hires in parallel with your manual checklist before switching it off.
Read the full guide on automating employee onboarding for access rules and check-ins, or talk to Lumeor about Rippling or Gusto instead of BambooHR.