Help

The Community will be temporarily unavailable starting on Friday February 28. We’ll be back as soon as we can! To learn more, check out our Announcements blog post.

Formula Filter for E-Mail: Problems with special Characters in E-Mail address

Topic Labels: Formulas
Solved
Jump to Solution
3899 8
cancel
Showing results for 
Search instead for 
Did you mean: 
Robert_Keck
5 - Automation Enthusiast
5 - Automation Enthusiast

I use a formula filterByFormula=Lower(E_Mail)=Lower("{user_email}".

If there is a special Character of # or & or + in the e-mail address, for example debby+maier@gmail.com the formula does not find correspondig records in airtable. Special Characters like !$%’*-/=? within the E-Mail address are found.
Can someone give me a workaround or solution.
Thank you for your help

1 Solution

Accepted Solutions
Robert_Keck
5 - Automation Enthusiast
5 - Automation Enthusiast

Issue:

I have a Voiceflow Skill using Airtable Database containing records with Name, E-Mail, etc. Records are found via search by E-Mail Address given from Amazon Alexa Account.

While testing i discovered that records with e-mail-Address including signs of #, &, + are not found although corresponding records exist in the Airtable Database. Also i got no Error Message.

Example 1 not working correctly:

Within the voiceflow api i used the following Request URL:
https://api.airtable.com/v0/blablabla/Table-Name?filterByFormula=Lower(E_Mail)=Lower("{user_email}")

image

This Command went ok for all E-Mail Adresses except containing signs of #, &, +.

Example 2 Working correctly.

After some try and error i found a solution working with all my testet E-Mail Addresses.

Within the voiceflow API Get Command i used the following Request URL and Parameter Assignments.

https://api.airtable.com/v0/blablabla/Table-Name?

image

I don’t know the Differenz between A und B. Maybe somone from the Airtable forum knows the answer.

Thank you for your good support

See Solution in Thread

8 Replies 8

I believe this behaviour is expected if – and only if – you fail to URL-encode the query. Try testing just one by changing the plus sign (+) to %2B. i.e., …

SUBSTITUTE({yourURL},"+","%2B")

Just hard code a test to see if URL encoding is the remedy. If it is - this example might help you achieve a seamless solution.

Hi Bill, thank you for the fast response. May i ask for your support again.

i tried
filterByFormula=LOWER(SUBSTITUTE("{user_email}","+","%2B"))=Lower(E_Mail)=Lower("{user_email}")

it does not help. Is this what i should have done?

Thank you

Robert,

Can you tell me what context you are running this filter process in? Is it a script block?

Hi Bill,

i am using the https command within voiceflow api using get command.

I used this https command in the Request URL. (Special Characters don’t work]
“{user_email}”)

Now i have tried:

I don’t know the difference. But the second worked.

Thank you very much for your good support

bcppidnhojeliaag.png

Glad you have it working!

I suspect the second approach is automatically URL-encoding the request. But I’m still a little foggy concerning the second approach. Other people with similar issues would love it if you shared a few more details that led to your resolution.

I’ll echo @Bill.French’s request for further details. Your second option didn’t appear in your message for some reason, as you can see from the quote above.

Robert_Keck
5 - Automation Enthusiast
5 - Automation Enthusiast

Issue:

I have a Voiceflow Skill using Airtable Database containing records with Name, E-Mail, etc. Records are found via search by E-Mail Address given from Amazon Alexa Account.

While testing i discovered that records with e-mail-Address including signs of #, &, + are not found although corresponding records exist in the Airtable Database. Also i got no Error Message.

Example 1 not working correctly:

Within the voiceflow api i used the following Request URL:
https://api.airtable.com/v0/blablabla/Table-Name?filterByFormula=Lower(E_Mail)=Lower("{user_email}")

image

This Command went ok for all E-Mail Adresses except containing signs of #, &, +.

Example 2 Working correctly.

After some try and error i found a solution working with all my testet E-Mail Addresses.

Within the voiceflow API Get Command i used the following Request URL and Parameter Assignments.

https://api.airtable.com/v0/blablabla/Table-Name?

image

I don’t know the Differenz between A und B. Maybe somone from the Airtable forum knows the answer.

Thank you for your good support

For a formula to go directly into a URL, it would need to be properly encoded:

https://api.airtable.com/v0/blablabla/Table-Name?filterByFormula=Lower%28E_Mail%29%3DLower%28%22%7Buser_email%7D%22%29

Your initial URL didn’t encode the non-alphanumeric symbols in the formula, so it didn’t work. By entering the formula as a parameter, the application applied the correct encoding for you behind the scenes.