Help

Automation error: "An attachment url is disallowed" when run automatically

Topic Labels: Automations
4745 11
cancel
Showing results for 
Search instead for 
Did you mean: 
Thimo
5 - Automation Enthusiast
5 - Automation Enthusiast

Hello everybody,

I have a weird problem with a gmail automation. When testing the automation works perfectly. The automation looks for a field value that is greater than 4 and then the actions are run.
2020-12-18 om 15.41.30

When manually changing the a value in the record that is used for the automation to a value greater than 4 the automation also runs perfectly.

But when the automation its run automatically I suddenly get the following error in the logs:
2020-12-18 om 15.39.49

It doesn’t make any sense that this automation suddenly throws errors when it is run automatically, but every other way of running it works fine. Also, when this same automation is run again manually it just works…

Someone any idea what’s going on?

2020-12-18 om 15.55.57

11 Replies 11
Christopher_Gri
4 - Data Explorer
4 - Data Explorer

Hi Thimo,

I had exactly the same problem. In my case I think it was down to the automation attempting to send the email before the previous step had completed the upload of the attachment that took place in a script that I was running. To resolve the issue I created a new job to run after the previous one had finished, and a small time had elapsed to allow all of the file uploads to complete, that then changed the status to kick off the email send instead. This looks like it has fixed the problem.

Hope this helps.

Regards,

Chris

Hi Chris, thank you for your message!

This may also be the case for me, but I couldn’t find a solution for it back then. I ended up using the Airtable triggers in Zapier to recreate this automation and that worked perfectly! Also good to hear that you found another solution :slightly_smiling_face:

Thomas_K_Runnin
4 - Data Explorer
4 - Data Explorer

I think I found a great solution for this issue. At least it works great with a single attachment.

In my case I’m triggering an automation based on a record entering a “To send” view. Whenever it triggered automatically I got an error in the Gmail action step since the attachment had not finished uploading by the time the automation triggered.

Here’s what I did to fix it:

  1. Created a Formula column that just printed the attachment column. Assume your attachment column is named “CV or resume” the formula would simply be {CV or resume}.
  2. This column will print the name of the file as well as a URL to the file. The great thing is that the URL changes once the file has completed the upload. It goes from something like cv-2021.pdf (https://cdn.filestackcontent.com/3647r9w8s7e6rts47rt6) to cv-2021.pdf (https://dl.airtable.com/.attachments/8f2a529ec648bc021421291078dad0ee/cc7c1241/cv-2021.pdf). So just add a filter for the formula column containing https://dl.airtable.com and you should be good to go.

See example video: Airtable PDF upload example...

Of course, this approach probably won’t work if the field has more than one attachment, as the first attachment is likely already uploaded. You could add another condition to exclude cdn.filestackcontent.com, however I’m not sure if that domain is always the same. I believe I’ve also spotted something starting with api. or something similar, but I can’t reproduce at the moment.

Ashok_Sekar
4 - Data Explorer
4 - Data Explorer

The way I solved is, I created views for the conditions. And added Automations on those views. Once the data gets inside a view based on some conditions ( used “When record enters view”). Directly applying conditions on an automation had the mentioned problem.

OpsLHPA
5 - Automation Enthusiast
5 - Automation Enthusiast

THIS. WORKED. PERFECTLY!!!! Omg, I was trying every which way to get Airtable to slow down its automations to allow Documint to complete generating a contract. I literally spent an entire work day and all weekend trying to outsmart Airtable. Then I tried this and it worked exactly as I needed.  

Please note, Airtable Gods: Create a "wait" option in your automations so we don't have to figure out how to kludge together a solution. 

Thank you!!!

Hi , I thought your solution would solve it ... but no, still fails..  Good idea though!

Airtable team ... please enable a "wait until completed" instruction

Thanks! it works fine now.

This seems to be the only solution.   Have you tested the exclusion criteria in case of multiple attachments?

Stephanie_Edwar
4 - Data Explorer
4 - Data Explorer

This is still an issue for me on multiple automations. I've tried duplicating the automations and it doesn't fix it. When I run a test automation, it works. It's only when it tries to actually run that I get the error. Please fix this!

Drew_Lentz
5 - Automation Enthusiast
5 - Automation Enthusiast

I attempted a fix using Thomas_K_Runnin's idea but to handle multiple attachments. It seems overly cumbersome but so far seems to be working. Welcome all feedback to make this less clunky.

  1. I have a formula field counting the instances of "https://dl.airtable.com" (which should equal the total # of attachments). 
  2. I have 2nd formula counting the actual number of attachments from my attachments field. 
  3. I have a 3rd verification formula subtracting the results of the two formulas above (should = 0 once uploading complete)
  4. I have an automation set to update a status field to "uploading" with a trigger of When Record is Created 
  5. I have a filtered view (locked) set to only show records with status = uploading AND verification formula = 0. 
  6. Lastly, a 2nd automation to actually send the email When Record Enters View (referencing view above).
MatiasTN
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi there!

Here another victim to the "failed email because file did not finish uploading" Airtable error 🙂


Great answers and I've compiled them to generate this solution: I've created a formula field that will output "Uploading" when it detects a file with the following urls: "https://cdn.filestackcontent"  or "https://zapier" or it does not detect "https://dl.airtable",  and will output "Uploaded" on the contrary.

 

Details to replicate:

1- Create a "all_documents" formula field that just concatenates all the Attachment fields you want to validate. Mine looks like this: 

Screenshot 2023-09-15 at 12.48.37.png

 

{PandaDoc PDF}&Attachments&{Proof of Payment}

 

 

2- Create the validation formula field. I've named mine "Documents Upload Status"

Screenshot 2023-09-15 at 12.50.59.png

 

IF(all_documents!="",
  IF(OR(FIND("https://cdn.filestackcontent",all_documents) > 0,
        FIND("https://zapier",all_documents) > 0,
        FIND("https://dl.airtable",all_documents) = 0
       )
    ,'Uploading','Uploaded')
,"")

 

In the formula I've just validated against "filestackcontent" and "zapier", but if you find that other uploading urls appear in your case you should add them to the formula.

3- Use this formula as a validation before running automations that need that uploaded file(s).

 

Additional comments:

I tried using the "REGEX_MATCH" airtable formula to find all urls that were not identical to "https://dl.airtable" but apparently Airtable does not support negative lookahead (?!text) in regex expressions.

And here is a screenshot of how the not fully uploaded document from Zapier was breaking my Airtable automation:

Screenshot 2023-09-15 at 12.56.33.png

Bonjour et merci MatiasTN !

j'avais le même problème résolu grâce à toi.

Seule différence, j'ai :

1) créer une colonne "all_documents" avec ta formule

2) j'ai choisi un déclencheur "when record matches conditions", when "all_documents" contains https://dl.airtable.com/.attachements

ça permet d'attendre que le document soit téléchargé.

Bonne continuation 😉