Mar 10, 2020 03:50 PM
Okay so I’ve got a list of pretty standard tasks every time I host an event, so I’d like to automatically add them to my task list for each new event I add to my table. Below I have my template of tasks.
Using the scripting block, I’m able to choose which event I want to apply this template to.
Take a peek at the script below (which borrows heavily from the Record Template example), and example base here! Would love to know you how use this, and if it’s helpful.
// pick tables & views from your base here
let checklistTable = base.getTable("Planning Check List");
let templateView = checklistTable.getView("Template View");
let projectsTable = base.getTable("Projects");
let projectsWithNoChecklistView = projectsTable.getView("No Checklist");
// select an event to create a checklist for
let selectedEventRecord = await input.recordAsync(
"Choose event to create checklist for",
projectsWithNoChecklistView
);
if (selectedEventRecord) {
// load in all of of the tasks that our in our template
let templateQuery = await templateView.selectRecordsAsync();
let templateRecords = templateQuery.records;
// create new tasks based on the template
let recordsToCreate = templateRecords.map((templateRecord) => ({
fields: {
Name: templateRecord.getCellValue("Name"),
Project: [selectedEventRecord],
"Days Out": templateRecord.getCellValue("Days Out"),
},
}));
await checklistTable.createRecordsAsync(recordsToCreate);
} else {
output.markdown("# Uh-Oh You didn't select an event!");
}
output.text("Done!");
Mar 18, 2021 08:30 AM
Cool I ll check thanks
Mar 19, 2021 05:37 AM
Any way to have multiple Templates ran when there are multiple templates linked to the parent record?
Mar 20, 2021 11:24 PM
Sure - I think it would just require an extra arr.map on the TemplateTypes variable.
Apr 28, 2021 09:06 PM
This is fascinating - thank you @VictoriaPlummer!
Technically, could this approach be taken to run the script with an automation? I would want the inputs to your script to be fields in a given record. My goal is to recreate project pipelines similar to the ones in Daylite:
If I set the project stage to Delegation for example, Airtable would duplicate the tasks with the project field set to “Delegation - Template”. Am I understanding this correctly? This would be MUCH better than putting all of the required new task records individually as actions in the automation (and then having to edit them/augment them later.
May 02, 2021 09:16 PM
@VictoriaPlummer Sorry I meant is what I’m proposing above possible, and if so, how do you recommend doing that?
May 20, 2021 10:35 PM
@VictoriaPlummer can you please let me know how I could run this script with automation rather than a block?