Skip to main content

Hi,

I created a Gmail “New Attachment” trigger to collect images to an Airtable field (“inspiration images”). I gathered that the variable to enter for the Airtable field I want to update is “Attachment (Exists but not shown)”.

 

This however only seems to produce one attachment in Airtable instead of the many I tested to send.

I also tried to incorporate any potential existing images in Airtable by adding a search step and then adding the “Fields File ID” variable after a comma to the same field.

 

 

 

This produces results I quite can’t decipher, but more files are added to Airtable. But not the right amount. It seems if I have three attachments, two is what I got in in Airtable in the end.

 

In Airtable it looks like one is added (appended to the field), but another image replaces what was there.

 

The documentations seems to say the “New Attachment” runs once for each attachment in a mail, but if these runs are in sequence the next ones would write over the previous ones, non? How to avoid that?

What details am I missing here?

Rgds,

Björn

 

 

Hi ​@BjörnE 

Yes, the Gmail New Attachment Zap trigger only returns 1 attachment.

You would need to find/create + update the record in Airtable to be able to append attachments.

You probably want to add this Zap action: Delay - After Queue

 

Help links for using the apps:


Hi ​@Troy Tessalone,

Thank you for your swift reply. Must admit, however, that it confused me a bit 🙂. First, I cannot use Create, I need to append to a record from a clean table. I do this by inserting the recordID in the mail, parse it with regex and feed that to the Update record value. So this part should be OK, non?

I had checked this documentation before writing here:

  https://help.zapier.com/hc/en-us/articles/8495919107853-Common-Problems-with-Gmail-on-Zapier

There it says that “If you're using one of the new email-type Gmail triggers and find that all of the attachments on those e-mails are being zipped use the Gmail "New Attachment" trigger instead. This trigger runs once for every attachment on an email.

I can also see in the Zap runs that it has run once for each attachment I had in the mail.

Is the problem then that these separate runs run “over” each other, thereby giving unexpected due to not getting correct info about the existing images after each round?

Hence, I would need to add a delay somewhere to have each run having the time to complete, before the next one starts? But where should it go, what would make a singular run wait for the previous run to complete?

Cheers,

Björn



 


@BjörnE 

Add the Delay (After Queue) step as Zap step 2.

You’ll need to test to determine the correct amount of time to set for each Zap Run to finish executing. (e.g. 1 minute)

The idea being you find the Airtable record, then you append the new attachment to the existing attachments.


@Troy Tessalone, thank you!

Added the Delay as you instructed, now the Zap works as intended.

I’m a bit thoughtful about the delay time, since I have no way of controlling the size of the images people send in as attachments. Set it at two minutes now. It sure would be nice to have a choice of a discrete “wait until previous process ends”, but I guess that could be risky for Zapier.

Anyway, a big thank you!

Rgds,

Björn


@BjörnE 

Check your Zap Run history to see the timestamps for each Zap step to help you understand how long a Zap step takes.

A 1 minute Delay is more than plenty.


Glad to see Troy was able to point you in the right direction here, ​@BjörnE—thanks ​@Troy Tessalone! 🙌

As they mentioned, a 1-minute delay is usually more than enough, but if you’d find it helpful to have a more varied delay (like having it run immediately after the previous queued action finishes), it might be worth reaching out to our Support team here to log a feature request for that.

Do let us know if anything else comes up. In the meantime, happy Zapping! ⚡️