What This Workflow Does
This workflow creates tasks automatically in Airtable to help manage projects better. It fixes the problem of spending too much time making tasks by hand and calculating due dates. The workflow gets task details, templates, and team info, then makes new tasks with correct dates and assignments without mistakes.
The main result is less work for managers and accurate task lists that teams can trust. The workflow also can send optional Slack messages to notify people of new tasks.
Who Should Use This Workflow
If you manage projects and spend time manually making tasks in Airtable, this helps. It is good for people who want fewer errors and want to save time. It fits teams that use Airtable and want simple automation.
Tools and Services Used
- Airtable: For storing projects, tasks, templates, clients, and team members.
- n8n Automation Platform: To run the workflow that connects and controls all steps.
- Airtable API Key: Needed for secure writing and reading data.
- Slack (Optional): For alerting assigned team members about new tasks.
Beginner Step-by-Step: How to Build This in n8n
Import the Workflow
- Download the workflow file using the Download button on this page.
- Inside the n8n editor, use “Import from File” to load the workflow.
Configure Credentials and IDs
- Add your Airtable API Key in the credentials section.
- Set the Airtable Base ID and the table IDs (tasks, templates, clients, team members, automation).
- If using Slack notifications, add your Slack credentials and update the Slack node with your channel or user info.
Review Code Node
- Check the Calculate Dates Code node. The JavaScript calculates task dates. You can copy the provided code below exactly.
// Retrieve values from the previous node
const firstTaskCreated = $item("0").$node["Get Automated Task"].json["First Task Created"];
const startDate = $item("0").$node["Get Automated Task"].json["Start Date"];
const lastTaskCreated = $item("0").$node["Get Automated Task"].json["Last Task Created"];
const timeValue = $item("0").$node["Get Automated Task"].json["Time Value"];
const daysForSoftDueDate = $item("0").$node["Get Automated Task"].json["Days for Soft Due Date"];
// Helper function to add days to a date
function addDays(date, days) {
let result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
// Helper function to format date
function formatDate(date) {
return (date.getMonth() + 1) + '/' + date.getDate() + '/' + date.getFullYear();
}
// Calculate kickoff date
let kickoffDate;
if (firstTaskCreated === "false") {
kickoffDate = new Date(startDate);
} else {
kickoffDate = addDays(new Date(lastTaskCreated), timeValue);
}
// Calculate soft due date
const softDueDate = addDays(kickoffDate, timeValue - daysForSoftDueDate);
// Calculate hard due date
const hardDueDate = addDays(kickoffDate, timeValue);
// Calculate next task creation date
const nextTaskCreationDate = addDays(hardDueDate, -1);
// Return formatted dates
return [{
json: {
"Kickoff Date": formatDate(kickoffDate),
"Soft Due Date": formatDate(softDueDate),
"Hard Due Date": formatDate(hardDueDate),
"Today": formatDate(new Date()),
"Next Task Creation Date": formatDate(nextTaskCreationDate)
}
}];
Test and Activate the Workflow
- Run the workflow with a test record to see if all steps work.
- Check if tasks appear correctly in Airtable with the right dates and people assigned.
- Turn on the workflow in n8n by activating it for production use.
Note: For users doing self-host n8n, make sure the environment can run the workflow continuously.
How the Workflow Works (Inputs → Process → Output)
Inputs
- New or updated task records in the “First Task – Create Task” view of the automation table in Airtable.
- Predefined task templates, team members, and clients in Airtable.
- API keys for Airtable access.
Processing Steps
- The Airtable Trigger node detects new or changed tasks in the specified Airtable view.
- The workflow fetches detailed task information using several Airtable nodes: getting the automated task, task template, assignee, and client data.
- The Calculate Dates Code node runs JavaScript to compute kickoff, soft due, hard due, and next creation dates based on task parameters.
- The Create Task HTTP Request node sends a POST to Airtable’s API, creating a new task with the calculated details.
- The Update Automated Record HTTP Request node updates the automation table to track task creation progress and schedule.
- Optionally, the disabled Notify Assignee Slack node can send a message about the new task.
Output
- A new task record appears in the Airtable Tasks table with all fields filled accurately, including dates and assignments.
- The automation record updates to reflect task creation status and schedule next runs.
- Optional Slack notifications are delivered to assigned users.
Customization Ideas
- Change the Slack notification to email or Microsoft Teams by replacing the Notify Assignee node.
- Edit the JavaScript in Calculate Dates node to use different rules for due dates.
- Add more fields in the Create Task node’s JSON to capture things like priority or estimated time.
- Modify the workflow to support several clients per task or add more Airtable Trigger nodes to automate extra views.
Troubleshooting
- Problem: No trigger when updating Airtable record
Cause: The “updated_at” field is missing in the Airtable view.
Fix: Add the “updated_at” field to the view and save. - Problem: HTTP 401 Unauthorized errors
Cause: Incorrect or expired Airtable API Key.
Fix: Update the API Key in n8n credentials and retest. - Problem: Date calculation errors
Cause: Wrong date format or parsing in JavaScript.
Fix: Ensure dates are ISO format or correctly handled in the code.
Summary
✓ Automates task creation in Airtable based on records updated in a specific view.
✓ Saves time by replacing manual data entry and date calculation.
✓ Ensures tasks have correct assignments, dates, and links to clients and templates.
→ Produces accurate, timely tasks in Airtable to improve project management.
→ Can optionally notify team members via Slack about new tasks.

