Connecting Email and AirTable

Hello, Who has achieved some (or all) of these 3 goals, and has a solution already in place? I’m looking for a way to achieve these goals. Thank you so much in advance for sharing your wisdom. I’m looking through the Intergromat integration list of all the email tools, and I bet some of you are familiar with some of the tools that will meet my vision. And, perhaps even a direct AirTable integration not involving Intergromat – that would be magical. Lol, currently lost in the sea of reviewing all these tools and would LOVE your advice on what tools match for my vision. Thank you SO much in advance. It’s a bit time sensitive.

Which of these pictured here do you like and also matches my goals/criteria outlined below? Or any others that integrate with Intergromat and/or AirTable directly, that you know of? ClickSend integrates as well. These are all tools that integrate with Intergromat.

Background Info:

  • I’m creating an AirTable CRM. I am finishing setting-up phase 1 which is the basic contact data table, and do Not have questions here at moment.
  • Now I’m looking to add phase 2 of email integration, and this is where I’d LOVE your advice from those who have done it.
  • I’d like to use one method or tool for all 3 goals.
  • For any integrations, Intergromat is my go-to tool. I plan to use Intergromat and NOT Zapier, as Intergromat pricing is free or more reasonable and Zapier is more costly for >2 step zaps. And, perhaps there is even a direct AirTable integration not involving Intergromat – that would be magical. SEE the post below for the icon list of the tools that work with Intergromat, so you can easily see if you know of one that may be a winner for my goals/vision. These, plus ClickSend!
  • Background info re: goals 1-3, I currently use Outlook 2016 desktop (not Outlook Online, not Microsoft 365) and my email provider is GoDaddy which all shows up in my Outlook desktop. I understand I may need to change to get an Outlook Online account, hoping not but will let you tell me if so.
  • Some additional details re: capabilities for #1-3 is below.

Goals:

Goal #1) Send 1:1 emails one-at-a-time custom-written (not mass email with mail merge) (email addresses are in AirTable), and have info about if the email was opened/clicked/etc show up in AirTable. I will create a separate table for the communications and have it link to the contact records in the main table. What tools have you used or super familiar with that that match my goals and needs?

Goal #2) Send batch emails (email addresses are in AirTable) where can segment contacts based on a single-select field for example so half the contacts receive one email body and the other half receive a different email body while including the contact’s individual name in each email, and have info about if the email was opened/clicked/etc show up in AirTable, as well as scoring info (defined below). I will create a separate table for the communications and have it link to the contact records in the main table. What tools have you used or super familiar with that that match my goals and needs?

Goal #3) Have emails that I send and receive (in Outlook desktop not online 365, my provider is GoDaddy and then my emails appear in my desktop Outlook) have a copy automatically move to AirTable, with subject and body. I will create a separate table for the communications and have it link to the contact records in the main table. Specifically, only emails that are in a specific folder in my Outlook and/or match an email address that is in my AirTable CRM. Note: I am not looking to switch my main email to Gmail, as I love Outlook, but open to Outlook online if really needed. What tools have you used or super familiar with that that match my goals and needs?

Additional Requirements for goals #1-3:

  • I prefer free and low cost email marketing tools if need a 3rd party tool. And, since I may send small quantities of emails on an ad-hoc basis, not a monthly basis… If the tool is not free or max $10/mo for 1,000 contacts (or $15 for 1,500 contacts), I prefer pay-as-you-go $x for X# of email sends vs. monthly subscriptions.
  • Any tool must be user friendly for a non-developer.
  • Capabilities wanted for Goals 1 & 2:
    • Landing pages (for goals 1 & 2)
    • Info on email opens/link clicks/etc (for goal 1 & 2)
    • Opt out capability (for goals 1 & 2)
  • Capabilities additionally needed for Goal 2:
    • Scoring based on contacts who interact most with the email (for goal 2)
    • Email design templates (for goal 2)
    • Personalization where can segment contacts based on a single-select field for example so half the contacts receive one email body and the other half receive a different email body while including the contact’s individual name in each email (for goal 2)
  • Capabilities additionally needed for ALL Goals 1, 2, and 3:
    • Data flows back to show up in AirTable associated with each contact, via Intergromat integration (for goals, 1, 2, and 3)

Thanks so much for sharing tools that work well for you with that match these goals and criteria. Note: I’m looking for advice and not a custom development consulting proposal.

(I moved this additional info up into the original post, so deleted it here)

Hi @Brenda_Ginsberg,

It’s the weekend, I’m a bit under the weather right now, and what you want to accomplish is one of the most in-depth requests I’ve seen on here. That said, I’m going to try to give you some preliminary help since you said this was time-sensitive. Please bear in mind that I might not have retained everything I read in your message because I have a lot of medicine in me at the moment. :slight_smile: I will try to help more once I hear back from you and am, presumably, feeling better.

Here are some quick bullet points that’ll answer some questions:

  • Integromat is the right choice for your integration needs. You’ll be fine on the free or $9/month tier based on what you’ve said.
  • If you have a hosted email account (with GoDaddy and not a popular email service like the webmail version of Outlook or Gmail) and you want everything routed through it you do not need to feel overwhelmed by integration choices because you only have one: email. :slight_smile: All operations have to use the IMAP protocol for retrieving anything from your inbox and the SMTP protocol for sending. Any other option will not send emails directly through your account. Any email-related integrations should allow you to pull any metadata you want from the messages and that is the case when using standard email operations.
  • Things get more complicated when it comes to tracking so I’m not going to get into it that much right now. To track when a message is opened you need to use tracking pixels. While that’s pretty simple to set up from a development standpoint, it’s not if you’re trying to entirely avoid any code/server-related operations. If we were talking about tracking web page views you’d have a bunch of options, but for email you don’t and a lot of email clients can block tracking pixels or do by default. If you want to use Integromat to send directly through your mail servers, as you, like it’s any other message you can’t really avoid writing code. I think there’s probably a convoluted way to use Integromat to sort of avoid this but that’s not really an upside. If you send email through a third-party service that handles this automatically, however, you just have to be able to be able to pull the tracking data from that service into Airtable into Integromat. The problem here, however, is that I don’t think any integration allows you to trigger an action based on tracking pixel access. You’d probably have to set up an action that runs at a set interval and checks for this data on every message and syncs the results back to Airtable. That will get expensive once you’re checking a large number of messages and it’s hardly an elegant solution to the problem. The one possibility that I can think of right now is creating a webhook trigger that returns the binary equivalent of a tracking pixel when accessed but I’m not sure Integromat supports creating something like that. I’d have to look into it specifically, but I know that you can’t do it with Zapier. It might work without returning any image at all but, again, that would require some research to figure out. Tracking everything else isn’t that hard, but I’d really think about how important it is to track each time a message is opened. It will be the most complicated part of what you’re trying to accomplish, by far, and the data you get isn’t very reliable because this is often blocked by email clients. I think you should let this one go for the moment, focus on everything else you want to do, and then look at adding a tracking pixel setup if you feel it’s absolutely vital.
  • If you want to use a third-party service to send emails, rather than routing everything directly through your account, I’d take a look at Sendgrid. You get 100 emails per day for free and Airtable has a direct integration (you need a Pro account and it only works well with bulk messages, but it’s still a big bonus to send directly from your base). I believe they provide some pretty thorough analytics, too, but—like I said earlier—you’d have to poll for that data regularly and that would be complicated and/or costly.
  • You should learn about last modified time fields if you haven’t already because they will make this process much easier. I wrote an article about using them in an email integration (just not the type you’re looking to setup). You don’t need to read most of it to understand how they work and how they’re useful in a situation like this.
  • You should approach this project in the opposite order of your goals. Your third goal is the easiest to accomplish and it will help you understand the general framework for working with email. You can set this up through Integromat with the email integration I mentioned earlier. I think you should get that working first and tackle the rest once you’re happy with it.
  • For goals #1 and #2, make sure you have a separate table that contains messages you want to compose and send from Airtable that’s separate from the messages you’re syncing to Airtable. You could have a single table for both, but if you can live with an extra send-only table it’s going to make achieving the first two goals a lot easier.

Okay, I’m running out of steam here so that’s about all I’ve got for tonight. If this is truly time-sensitive, you might have an unrealistic expectation. This is actually a fairly simple thing to do whether you’re writing code or using a no-code service like Integromat and it’s the complexity of the setup that makes it so much work. You have to figure out how a bunch of moving parts and variables fit together. In my opinion, code is actually one of the easiest parts of software development. It’s the overall design and structure of the software that’s quite complicated in many cases. Code is just a syntax you can use to write solutions to problems. Integromat is a graphical user interface that replaces the need to learn a syntax.

Unfortunately, nothing can replace the structural design necessary to create custom software. There’s just a lot to figure out. That said, if you can take it one step at a time, and dedicate a enough time to working through each goal, you can make whatever you want. It just may be unrealistic to expect to do this quickly when you don’t know exactly how to put it together. If you’ve got a week or two, however, you should be able to pull it off (and you can have parts of it working as you go).

Anyway, I hope this is a helpful beginning. I realized, as I got into this, that what you want to do requires a pretty enormous amount of explanation. :slight_smile: I’m not really equipped to provide that right now but, regardless, I think it’s a good idea for you to think about this stuff and respond so I can help you figure out the best approach.

1 Like

thank you for your information.

@Adam_Dachis,

You are wonderful and I thank you so very much. I hope you feel well soon. I will re-read your advice when I am fresh during the daytime so I can understand it more fully.

One clarification to share is that for goal #3, I’m looking to (a) continue to send and receive my emails in Outlook (not switch all emails to only go to AirTable), and (b) have the email data from emails I send and recieve (such as the sender name & email / receiver name & email / subject / body) automatically go into fields in an AirTable table, likely matched by email address as the unique identifier. I receive boty important emails as well as many more emails that do not belong in my AirTable CRM (e.g., spam, newsletters, event lists, personal emails). So, my goal is for only the business emails to go into the AirTable CRM, which I think is best by having some process and/or tool (what process/tool is where I need advice, and how to implement) either: (a) check new emails sent and received to see if they match a contact in my AirTable CRM based on email ID, or (b) having it check a specific Outlook search folder where I tag the category ‘Add to AirTable’ since I already add a tag category to business emails so I can see them in one concise place away from the clutter of less important emails. Ideally, it can check this and add the email info to the AirTable fields as well as adding a contact if they are not already in my AirTable, after checking two email fields in case of a secondary email for the same contact.

Also, for the info re: clicks/opens, I was thinking of using a email marketing service that is one of the ones in the photo above, and asking which matches my goals. But I’m now intrigued about if this is possible without a 3rd party tool as well, as you mentioned may be possible.

When you are rested and feel well, I welcome your thoughts. Gratefully appreciative.

Hi @Brenda_Ginsberg,

I understand that you still want to use your email outside of Airtable. Sorry if I wasn’t clear about that. That’s why I was suggesting that sync’d emails end up in a separate table. That said, if you want to limit which emails gets sync’d to Airtable based on the contact list you store in a separate table in your base you can definitely do that—it’s just a lot more involved than separating sync’d emails from the ones you send. But I suppose if this is a CRM you don’t really want messages in two places. :stuck_out_tongue:

So, let’s address that first because it’s one of those things that’s elementary in regards to the steps you need to take to implement but the sort of thing that will tie your brain in knots as you sort out which steps you need to take. Here’s an outline of how a scenario in Integromat (or zap in Zapier or any similar trigger/action integrations service) would work to sync emails you receive:

  • Trigger: Set up an Email trigger (that uses an IMAP connection to your email account—you’ll set this up similarly to any desktop or smartphone mail client) that watches for new messages as they come in. Make sure you set your connection up to look for mail in your inbox (or a folder that contains the messages you want Integromat to look for) and to limit messages per cycle to just one. By default, Integromat will pull two new messages at a time. That’s a nice feature but it you don’t want to use it in this situation. You can also use advanced settings to filter emails in advance, which can be useful if you know the emails you want to get into Airtable will always contain a specific word or phrase in them.

  • Action: Set up a search action that looks at the contacts table in your Airtable base. You’ll need to filter the records to only show a single recipient by using an Airtable formula. That setup will look something like this:

  • Action: Set up an action to add a new record to a table in your base that’s solely for messages. We’ll need to add a condition afterwards but it’s easier to just finish this step first. Basically, you just want to map the relevant parts of an email to the fields in your messages table. It’ll look something like this:

You’ll notice that the contact field has a blue ID tag in it instead of the usual read ones. The red ones refer back to the email message that was caught by Integromat and the blue ID comes from the contact record Airtable found. This is because I’m showing you the most reliable and manual setup.

You can ask Integromat to try and map fields for you and you can also request that it let you use the email address instead of the record ID as a means of linking one record to another. This is a really nice feature to simplify the process. Currently, Zapier doesn’t allow this so I’m trying to keep things more generic in case someone using Zapier wants to do this someday and finds this post. Also, you’re less likely to run into problems if you work with IDs because they’ll always be unique. (There are a lot of specific reasons why, but they’re not worth getting into right now.)

  • Filter: create a filter in between the the search action and the add record action. (For Zapier users, filters are not the same thing. You need to set up a path. Generically-speaking, you’re creating a conditional action regardless of what service you use but they all like to come up with their own names so it can get confusing sometimes.) Basically, you just want to check that the email address of the message’s sender matches the one in the record found in your contacts table. If it doesn’t, that’s because it didn’t exist in your contacts table and the message will, as a result, never get logged in Airtable. If it does match, however, it will get logged and correctly linked to the appropriate contact automatically. The filter setup is pretty obvious at this point, but here’s an example screenshot anyway. :slight_smile:

After that you should just send a test email to yourself (from an address in your contacts table) and run the scenario once to make sure it works. If it does, set it on a schedule and all email senders that match the addresses in your base’s contacts table will be logged to the messages table automatically.

I threw a very quick base together just to make sure I didn’t give you any bad information/miss anything important, so you can check that out below if you want to see how everything matches up with the Integromat screenshots.

Start out by getting that to work with your base and email account and then we can talk about sent messages. It’s a bit more complicated to sync those because you’re sending from within Airtable as well. I think the best approach would be to send messages in Airtable from a separate table so you can just sync sent messages freely. That would treat the messages table as more of a message log so that messages you send from within Airtable don’t need complex routing and logic to deal with duplicate detection and other really annoying problems. Code or no code, I promise that’s a headache you want to avoid. :slight_smile:

If you just sent up sync the simple way, you can basically just create an almost identical scenario that looks for sent mail instead. The easiest option would be to set up a separate connection to your email that monitors the sent folder instead of your inbox, duplicate the received email scenario, tell it to look at the recipient instead of the sender (because you’re the sender in this case), and then leave everything else the same. But we can worry about that once you have this first part up and running.

Oh, and just in case this wasn’t assumed, you can absolutely work with more fields than I did in this example. I just wanted to keep it simple for explanation purposes/to save time. There’s a TON of other metadata you can save from every email so you can add as much as you want.

Now, for the open/click tracking, the situation is like this: if you use a third party service or roll your own solution you’re still going to be dealing with tracking pixels. I’m not aware of any other way to track opened emails and a quick search suggests there isn’t any other method currently available. Pretty much every third-party email marketing tool/service will provide this kind of tracking but, like I said before, it’s not the most reliable and there are downsides to implementing this yourself and using a service to do it.

I’m not familiar enough with email marketing services to know which ones allow for specific API calls to grab tracking data from their platforms. After looking through many options on Integromat, however, they’re just not available as triggers you can use. There’s no way to sync this data without making an API call and that requires the service to support that type of API call in the first place. Beyond that, each service has a different set of requirements for sending messages and that can include having all recipients registered with that service. That would mean you’d also need to sync all your contacts in Airtable through a separate Integromat scenario. This isn’t hard to do but it requires Integromat to check and update a lot more which means the likelihood of additional costs. That said, I don’t think it’d take you over the $9/month plan—it’s just likely to make it impossible to use the free tier and it’s one more moving part in your setup. You want as few scenarios as possible because if something goes wrong you’ll have an easier time figuring out the source of the problem.

Anyway, if you want to go this route you’ll need to make an API call. I don’t know enough about the pros and cons of these services to recommend the most ideal candidate but I am familiar with Sendgrid and it does support the API call you need to make (I can’t link to it directly but you want to look in the email activity section). You can track all kinds of message-related events through Sendgrid but you will have to poll the API frequently, for every message, in order to do this. If you had 1,000 messages in your base you would hit the action cap of the $9/month tier on Integromat in a matter of hours. It’s just a really inefficient method.

Webhooks are used to avoid all this unnecessary polling. Basically, the service you choose would instead poll Integromat directly whenever a specific event occurred (an opened email or a clicked link). If you look at Sendgrid’s API documentation you’ll see they have a webhooks section and it also supports the events you want. So while I can’t recommend a service by comparison I can say that Sengrid can do what you want and it’s possible it can do it for free depending on your volume. If your volume is over 100 messages per month, however, you’d go from free to $15/month right away.

Also, this kind of webhook setup isn’t an easy one. You have to set up a webhook trigger scenario in Integromat, get the URL it generates, provide that URL to Sendgrid (or whatever other service you choose), send test data to the webhook through Sendgrid (or other service), see what you get in Integromat, create a conditional router to determine the event status, and then have that router lead to a series of actions very similar to the email sync setup—but for every possible route. It’s not a simple setup. It’s do-able, but it’s a lot of time and effort for one little thing. That’s why I suggested skipping this or just implementing it last because it’s the hardest part. At least, at the end, you’ll have more experience and it won’t feel as complicated to pull off.

But there’s also the DIY option. You can use Integromat’s webhooks to both create the webhook URL and generate the desired response. I haven’t tried this myself, but since you can set the headers of the response you technically should be able to make it provide data that’s considered an image and can be used as a tracking pixel. You’d just need to have a unique tracking URL per message, but that’s easy to generate in Airtable and I’m trying to avoid the specifics until you know how you want to do this (and have the easier stuff taken care of). Since you can set headers it’s also potentially possible that you can create an HTTP redirect this way, and that’ll be necessary for tracking clicks in your emails. That part should be a bit easier to sort out.

The DIY option will require less work to set up but slightly more effort to facilitate (most likely) when you want to track things. Getting it to happen automatically might be possible but it’ll depend on how you want to compose messages sent through Airtable. Right now you can’t officially use rich text in your base so you’d have to send naked URLs. That said, the rich text field is in beta right now (I think it has been since October) and it solves that problem. Regardless, you still have to assemble tracking URLs somewhat manually. I know some workarounds to make this really simple but we can cross that bridge if we come to it.

Anyway, make sure you can get your received messages sync’d to your base with the process I described earlier and we can tackle sent messages next. Also let me know if you come to a conclusion about how you want to deal with the tracking situation. If you want recommendations on a specific service to use, I’d consider posting about that explicitly on the forum. Just something like “what email marketing service would you recommend?” Then just say it needs to work with Integromat and have tracking features. I think you’ll get more responses with something short and straightforward like that. Also, you can probably get a good recommendation from Zapier. They’re very helpful. Everyone in the company handles customer support regardless of their position so they’re pretty active on that front. Ask them what they’d use in your situation. I’d be very surprised if they didn’t have some recommendation. They may have even written a blog post about it.

1 Like

Adam, Thank you so very much. I am appreciative. I am knee-deep in another project and will jump back to aiming to understand all you shared soon. Just a note of appreciation and to mention I will be in touch soon, hopefully this week before I head on vacation or while in Hawaii or when I return after 12/23. For now… some of the topics that pop into my mind when I go to embark on this… I don’t know how to solve. Curious if you may have a good idea: I do want my Outlook emails to also com into my Outlook desktop tool not only in AirTable… Will that work? Also, I have to figure something out first with my Outlook in how I organize business emails which I manually assign a category in Outlook desktop, as 90% of the email I receive now is non-important mailing lists and emails which I have to solve, so I manually tag each business email which should do daily but sometimes a month may fly by, but that ‘categorized folder’ is my best method yet (love it) of seeing all my business email in one place. I then look at those and add a 2nd category for things to follow-up on or reply to (which shows up in a 2nd categorized folder in my outlook), which I’d love to be able to sync with AirTable. Any chance possible? I have Outlook desktop currently which is not hosted is PC on device only at moment, and I understand I may need to go Outlook cloud somehow. I think if I knew the solution for these things and it’s comfortable, it would make my year by being ready to set up the full email solution we have been messaging about.