Auto-schedule new Airtable briefs into Motion tasks
When a new client brief or intake row lands in Airtable, create an auto-scheduled Motion task, write the task ID back to the row, and post a heads-up to Slack.
Build a code-based workflow that turns new rows in an Airtable client-intake or creative-brief table into auto-scheduled Motion tasks, with a confirmation posted to Slack. This should be fully deterministic column-to-field mapping, no LLM reasoning.
Trigger: Airtable poll on new_record for the intake table. Let me pick the base, table, and view during setup. Use airtable.list_records as the poll data source.
For each new record, run these steps in order:
1. Map the Airtable row to a Motion task payload: task name from the Brief or Request column; description from the Details column, passed through as GitHub-flavored Markdown; duration as an integer number of minutes from the Estimated minutes column; priority from the Priority column, mapped to one of ASAP, HIGH, MEDIUM, or LOW (fall back to MEDIUM if the value is missing or doesn't match); autoScheduled as an object with deadlineType HARD, startDate = today, and the Deadline column value as the deadline. Send the workspaceId I pick at setup.
2. Call motion.create_task with that payload and capture the returned task id and URL.
3. Call airtable.update_record on the same record and write the Motion task id back into a Motion Task ID column (create the mapping at setup) so the row is traceable to the task.
4. Call slackbot.send_a_message to the ops channel I pick at setup. Include the task title, the requester name from the Requester or Owner column, the priority, the deadline, and a link to the task in Motion.
Skip rules: if the Deadline column is empty, send autoScheduled = null and still create the task. If any required field is missing (title or duration), log the row and skip it without failing the whole batch. Do not retry a row that already has a Motion Task ID written back.
Let me configure at setup time: the Airtable base, table, and view; the exact column names for Brief/Details/Estimated minutes/Priority/Deadline/Requester/Motion Task ID; the priority value mapping; the Motion workspace; and the Slack channel.
What does this prompt do?
- Watches your Airtable client-intake or creative-brief table for new rows.
- Creates a matching Motion task with title, details, duration, priority, and a hard deadline, all auto-scheduled onto the assignee's calendar.
- Writes the new Motion task ID back into the same Airtable row so every brief stays traceable to the work.
- Drops a confirmation into your ops Slack channel with the requester name, priority, deadline, and a link to the task.
What do I need to use this?
- An Airtable base with an intake or brief table that includes columns for the request, details, estimated minutes, priority, and deadline.
- A Motion account with the workspace you want new tasks created in.
- A Slack workspace and the channel you want confirmations posted to.
How can I customize it?
- Swap in your own Airtable columns and priority values so the mapping matches how your team already names things.
- Change which Slack channel receives the confirmation, or route different request types to different channels.
- Set your own defaults for briefs that skip a field, like a fallback priority or a soft deadline instead of a hard one.
FAQs
Does this work on Motion's free plan?
What happens if a row is missing priority or a deadline?
Can I run this for more than one Airtable table?
Will Motion actually put the task on someone's calendar?
Does the Slack message include a link to the task?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Stop hand-copying briefs into Motion.
Connect Airtable, Motion, and Slack once, and every new brief lands as an auto-scheduled task with a heads-up in your ops channel.