Decide how onboarding and offboarding enter Ravenna and how work fans out across teams, using a parent ticket in the owning workspace and one child ticket per team.
Onboarding and offboarding are the same machine pointed in opposite directions. Two decisions shape both: how the event gets in, and how work reaches each team. Settle them here and the onboarding and offboarding playbooks become build instructions.
Intake, tickets, the cross-team handoff, checklists, approvals, notifications, and the audit trail.
Your provider provisions
Add someone to a group in Okta, Google Workspace, or Entra ID and it assigns every application mapped to that group.
That split is why Group is the default provisioning method on an access level. One membership fans out to everything behind it, and the application list stays in your provider rather than in every workflow you write. Application covers the Okta apps you would rather assign directly.
Webhook (AI Prompt Trigger) gives you a URL to register with your HRIS and a prompt that pulls the fields out of whatever it sends, so the payload shape is not your problem.This is the strongest option because it acts the moment the event happens. HRIS employee data syncs every 24 hours, so a webhook is what buys you a full day of lead time to ship a laptop.
Treat the URL as a secret, since anyone holding it can start the workflow. To rotate it, delete the trigger and add a new one.
If your HRIS sends notifications rather than webhooks, point them at a dedicated request channel in Slack or by email, then give your agent a rule for them:
When a message in this channel is an automated new hire notification from the HRIS, read the name, work email, start date, department, role, and manager out of it and create a ticket with @Form - New hire using those values. Do not reply in the channel.
The agent files the ticket and stays quiet, the values land on the form for everything downstream to branch on, and a second rule can still handle human questions in the same channel.
Someone in People Ops submits the event. Trigger on Form Submitted, filtered to that form.This is the right intake when Ravenna is your source of truth, and the quickest to stand up. Many teams start here to get the process running, then move to a webhook later.
Capture the same fields whichever intake you use, because every branch downstream reads them.
Field
Type
Used for
First and last name
Text
Account creation
Work email
Text
The identity everything else keys off
Personal email
Text
Reaching a joiner before, or a leaver after
Employee ID
Text
Reconciling with the HRIS
Start date or last working day
Date
Every schedule offset
Role or title
Text
Access tier within a department
Department
Select
Which group bundle applies
Country
Select
Local requirements and shipping
Manager
User
Approvals and the handover decision
Keep the dates date-only, so every Wait Until offset lands on the day you meant. Bundle access by department plus role and this list stays short permanently.
Give the work the same shape as your org: a parent ticket in the workspace of the team that owns the event, and a child ticket in each team that has a part in it. Creating a child fires that team’s own workflow, so each team owns and maintains their half.The parent answers “where is this up to”. The children are where the work happens. People Ops owns the parent when both teams are on Ravenna, otherwise whichever team is.
The child publishes immediately, so their Ticket Created triggers, notifications, and workflows fire
Parent ticket
The parent’s ID
Linked at creation, across workspaces
Form
The intake ticket’s form
The child arrives carrying the start date, department, role, and manager
Create Ticket also sets requester, assignee, followers, category, tags, due date, and status, so the child arrives already routed.
Ticket attribute pickers list the workflow’s own workspace, so send destination-specific values through the copied form or the description. Update Ticket works within its own workspace, so set what you need on the create.
Describe the end state and Copilot returns a plan before it creates anything:
When the New hire form is submitted in the People Ops workspace, create a child ticket in the IT workspace, one in Facilities, and one in Finance. Set each child's parent to the ticket that triggered the workflow, and set each child's form to the New hire form so the field values carry across.
Copilot builds the draft. You review it and publish.