Sending Bulk Emails from Podio

Posted: 2016-12-07

There are many instances where it would be desirable to send an email to many contacts. Here I'll share a good system that prevents exceeding your hourly action limits, and trickles out emails over time.

Note: For the setup described in this lab requires a Diamond or higher plan.

Warning

It is highly recommended to set up your own SMTP server on the Account page to send email with. If we receive spam complaints from usage of our mail servers, your account could be shut down without notice. If you don't already have an SMTP server, a good option is MailGun.

The Setup in Podio

For this to work, you will require 2 apps.

1) A "Templates" app to store email templates to send out, with:

  • Title (single-line text field)
  • Subject (single-line text field)
  • Body (multi-line text field)
  • From Name (single-line text field)
  • From Address (single-line text field)

2) A "Queue" app to keep a queue of emails that need to be sent and have been sent, with:

  • First Name (single-line text field)
  • Email Address (email field)
  • Status (category field with "To be Sent" and "Sent")
  • Template (relationship field to determine which email template will be used)

We also need a view on the queue app to return only items with status "To be Sent" and ordered by Created on, oldest first:

A dash of Magic

We would want to be able to personalize our emails with the person's first name (as a minimum - this can be expanded as needed).

For this to work, we'll use a token called "{{name}}", which we'll replace in each email sent.

As an example, here is a sample Template:

The Sending Flow

In order send each email, we need a flow in the Queue app. The trigger will just be manual as we'll trigger this flow from elsewhere later.

The flow needs to get the relevant template, replace the {{name}} token (and any other tokens you wish to add), send the email, and mark it as sent:

The Queue management flow

To trigger the sending flow, we have a date flow that triggers every hour. It gets the "To be Sent" view from the Queue app, and limits it's results to something sane. In this example I use 100, but you should adjust this to your account's hourly limits vs current usage. Also note that there are hard limits to how much a view can return (between 99 and 999 depending on your plan). Lastly, the flow triggers the sending flow on all collected items:

To Send Emails

Now, to send an email campaign, you simply need to create the relevant items in the Queue app.

You can do this:

  • manually one at a time
  • automated with a flow
  • doing a mass Excel import

Once every hour, this set of flows will check the queue and send out a set of emails until there are no more marked as "to be sent".

It won't eat up hourly actions excessively, and keeping your sending IP address reputation in check by not sending huge volumes at once.




Andreasby Andreas Huttenrauch
Owner of Globi Web Solutions, and Podio Fanatic.