Help

Re: Creating Checklists with Airtable and Zapier

1910 1
cancel
Showing results for 
Search instead for 
Did you mean: 

While answering a question on the forum about Checklists, I decided I would write a blog post about how to use Zapier to automatically create Checklists, assign them to a project and then to a collaborator…

Creating Checklists with Airtable and Zapier

and here’s a link to the base:

I hope you find this useful!!

16 Replies 16
Philip_Bassham
6 - Interface Innovator
6 - Interface Innovator

Maybe I missed something, but I don’t see in the zap where the new tasks are created.

Hi @Philip_Bassham

Thank you for pointing that out - the final section of the process was missing - no idea how!

I’ve updated the page and it should be there now!

Julian

Thanks! I really appreciate it. I am pretty new to Airtable and have been trying for weeks to figure out a good way to get something working to manage recurring workflows and projects! So, this is great! Haven’t really heavily tested it, of course, but I have high hopes. Really appreciate you writing it out!

One other question. At the end you say

There is a limitation in this - Zapier will only Loop around 25 records in an array like this and so if there are more than this number it could fail. However, there is a way around this - and it just adds one more code step to the Zap.

What is that other code step?

Hi @Philip_Bassham

The solution to this is to write a code step in Zapier which splits the incoming string of comma separated variables into blocks of 24 and then to return these in an array of objects. This causes the following steps (starting withe the routing which creates an array of objects with a single record id in each) to run for each group of records. So if you split the original incoming data into 24 such blocks and each of these has 24 individual records then the subsequent processes will run for 24 x 24 = 576 records. Here is a sample of suitable code in Javascript:

//this splits the articles up into chunks of 24 to avoid the Zapier limit…

if (inputData.allArticles == null) {
allArticlesArray = [];
} else {
var allArticlesArray = inputData.allArticles.split(",");
}

var outputElement = [];
var outputElementItem = “”;
var articleNos = allArticlesArray.length;
var i=0;

while (allArticlesArray.length > 0) {
outputElementItem = allArticlesArray.slice(0,24);
var outputElementItemObj = {}
outputElementItemObj.record = outputElementItem
allArticlesArray.splice(0,24);
outputElement.push(outputElementItemObj);
}

return(outputElement);

The input Variable allArticles may have up to 576 comma separated elements, and the array of Objects, outputElement, is an array of objects each containing comma separated lists of up to 24 of these.

You could put some error trapping code in here (for example to check the original allArticles variable doesn’t contain more that 576 items).

I haven’t yet had a need to try, but I assume you could create another ‘layer’ here so that you could process 24x24x24 (13,824) in a single Zap - and so on.

Don_Howden
4 - Data Explorer
4 - Data Explorer

Didn’t work for me

Testing in Zapier at step three did not work. Not sure why.

Bargle. We searched but could not find a matching record. :frowning: Details:
Nothing could be found for the search.

Any Suggestions

Hi @Don_Howden

The most likely reason for this is that the project you’re picking up doesn’t have any values in the Checklist Items field - although I’m not 100% certain the Zap step would be triggered then to be honest. Have you tried entering another project and refreshing the test of all the Zap steps?

Thanks for the explanation. I am actually having a bit of trouble with the original code now and it is not working any more in Zapier for some reason.

I think it may have to do with some upcoming updates to how Zapier processes arrays? They call it “Line item support” Apparently, now when Zapier receives an array it will do the following steps for each item in the array, which is the goal of this code, yes?

But I think the input has to come in through a Webhook GET request direct from the Airtable API rather than the native Airtable Zap in order to process it as an array, rather than just getting the first record found.

Problem is, currently, Zapier is also having issues processing Webhook requests for me right now from Airtable, so I can’t really test it.

Strange - I’ve checked Zapier’s Code Step documentation and they still talk about Arrays of Objects causing following steps to run for each object in the array - and I haven’t had any reports from clients that stuff isn’t working.

Reading about Line Items, I suspect this will only be implemented by apps where the parent and child records are of a known structure (i.e. an accounts system like Zero) so I’m not certain how this would effect the generic feature around arrays of objects (unless there’s a bug in Zapier).

I think you are right about the Line Items. The Trigger app and the Result app both need to support them for it to do what your code accomplishes.

Hopefully Airtable will update their triggers!

Speaking of your code, I think there was a bug somewhere in Zapier for a week, but its working again for me now. Though when I try to add this second step, I also get an error.
Screen Shot 2017-12-13 at 7.14.54 PM.png

I found the issue. It is that the quotes got formatted incorrectly somewhere along the way on this line. Replace them and it works fine.

var outputElementItem = "";

Glad it’s working again!

Peter_Borg
6 - Interface Innovator
6 - Interface Innovator

Thanks Julian, very excited to report that this worked for me. I haven’t coded for a long time, and never in Java, but your instructions are very clear (I gues I just had to cut and paste).
I was only half sure that a single trigger could drive multiple actions. Thought perhaps it could be done using zapier web hooks (I don’t have much experience with that either, and hadn;t fluked a solution). I never could have worked it out without this post.
But do you think Javascript the only way? I wold have been stranded without your code sample.

Jocelyn_Roberts
4 - Data Explorer
4 - Data Explorer

@Julian_Kirkness It looks like the Base above doesn’t match the base you are referring to in your article? Would you be able to share it again?

Hi @Jocelyn_Robertson

I don’t think I have the base any more - I had a clear out and completely forgot that I’d published a link to it - you should be able to get what you need from the article though?

Julian

Hi @Julian_Kirkness …Yes, your instructions were great and easy to understand! I do have a few questions though. I believe I have everything in place and understand the zaps but am not able to run it correctly without error and wanted to see if it was due to the missing items below.

  1. Under the “Checklist Items” table you have a formula for the “ItemID” field. Would you be able to share what the formula is that populates the “ItemID” or let me know a little bit more about that field?

  2. Under the “Tasks” table section there are 4 hidden fields. Are those fields needed and if so would you be able to share with me what they are?

Look forward to hearing from you!

Thanks!