Nightly Deel new hire onboarding to Notion and Slack

Every night, catch every Deel contract that was signed or activated in the last 24 hours, spin up a Notion onboarding page, and announce the new joiner in Slack.

Agentic Task
DeelNotionSlack BotHR & PeopleOperationsOnboarding AutomationNotifications & Alerts
PromptCreate

Every night at 8pm, check Deel for any contracts that were signed or activated in the last 24 hours and kick off a lightweight onboarding for each new hire. Use Deel List Contracts, filtering by status (signed or in-progress) and by signature or start date within the last day, to find the fresh contracts. If you need to inspect one more closely to pull manager, country, role, and start date, retrieve the single contract too.

For each contract, first check the Notion onboarding database using Query a Database to see if a page already exists with that Deel contract ID in the "Processed Contract ID" property. If one exists, skip that hire entirely — no new page, no Slack message. This is the idempotency guard so a re-run (or an overlapping window) never double-posts.

For hires that are new to us, use Notion Create a Page as a child of the onboarding database and fill in: Name, Role or Job Title, Start Date, Country, Manager, and the Deel Contract ID (into a "Processed Contract ID" text property). In the page body, write a short intro paragraph and a tailored first-week checklist — pick tasks that fit the hire (engineering hires get repo access, environment setup, and a first PR; sales hires get CRM login, territory review, and shadow calls; ops or generalist hires get tool logins, a stakeholder intro list, and a 30-day goals doc). Keep it to 5-7 checklist items.

Then use Slack Bot Send a Message to post in the team's welcome channel (ask me for the channel ID on first run). Write a warm, human intro announcing the new joiner — include their name, role, start date, country, who their manager is, and a link to the Notion onboarding page you just created. Tailor the tone and the manager mention per hire; don't just template-fill. Keep it 2-4 sentences.

If nothing new came in from Deel, do nothing (no "quiet day" message). Deel isn't in our poll providers, so run this on a nightly cron rather than a poll trigger.

Additional information

What does this prompt do?
  • Checks Deel every night for contracts that were signed or activated in the last 24 hours
  • Creates a personalized onboarding page in your Notion database for each new hire with role, start date, country, manager, and a tailored first-week checklist
  • Posts a warm intro message in your Slack welcome channel linking to their Notion page
  • Stamps the Deel contract ID onto each Notion page so re-runs never double-post the same hire
What do I need to use this?
  • A Deel account with permission to view contracts
  • A Notion workspace with an onboarding database shared with the connection (columns for name, role, start date, country, manager, and a processed contract ID)
  • A Slack workspace and a channel where new joiners get announced
How can I customize it?
  • Change the run time (default: nightly at 8pm local) or pick a different lookback window than 24 hours
  • Swap the Slack channel or route different hire types (contractor vs EOR employee) to different channels
  • Tune the first-week checklist so engineers, sales, and ops hires each get the right starter tasks

Frequently asked questions

Does this work for both contractors and full-time hires on Deel?
Yes. Deel surfaces contractors, EOR employees, and Global Payroll employees through the same contracts list, so the workflow picks up every hire type as long as their contract was signed or activated in the last day.
Will it ever announce the same hire twice?
No. Before creating anything, the workflow checks your Notion database for a page already tagged with that Deel contract ID and skips it. Even if the nightly run overlaps or a contract gets re-signed, each hire only gets one onboarding page and one Slack announcement.
Do I need to set up the Notion database first?
Yes. Create a Notion database with columns for name, role, start date, country, manager, and a text or rich-text column for the Deel contract ID, then share it with the General Input connection so the workflow can write to it.
Can I customize the tone of the Slack announcement?
Absolutely. This runs as an AI agent, so you can tell it to write the message in your company voice, add emoji, tag the manager, or include a fun fact if you capture one on the Deel contract.
What happens if Deel is down when the workflow runs?
The workflow just tries again on the next scheduled run. Nothing gets partially created because the Notion page is only written after the Deel contract details come back cleanly.

Never forget to welcome a new Deel hire again.

Put new hire onboarding on autopilot so every new joiner gets a Notion page and a Slack shoutout the day they sign.