No Code Email Parsing Launch October 2022 · ian
We've Launched No Code Email Parsing
I'm excited to announce the launch of email parsing, which is a brand new way to get your data into HostedHooks. Now with our support for email parsing you will be able to send emails to a personalized and private HostedHooks email address (something like email@example.com) and we will parse the inbound email and store it for you. Once your emails are parsed and stored you will be able to setup parsing rules (with no code) to turn your unstructured email data into structured JSON, giving you the ability to connect that data with Webhooks and third party platforms. All of this with absolutely no code needed!
Pretty cool, let's get into the details.
What is Email Parsing?
Email parsing is the process of taking your emails, which are mostly unstructured text data and turning them into a structured format (JSON), so that they can be more easily used by other web applications.
The way that we turn that unstructured text data into structured data (JSON) is through the use of parsing rules. To start we have a handful of rules that will let you define how we should turn your email text into a consistent and repeatable JSON output. This output is valid JSON so that means, key value pairs, where the key is static, based on your rule and the value is dynamic to the email that is being parsed ( we'll show some examples below ). Once the parse rules are setup, every new email that comes in to your inbox will be parsed using the same set of rules. This dynamic parsing will allow you to turn those emails into consistent JSON which can be sent to third party platforms like Slack and Airtable using webhooks.
Email Parsing Use Cases
If parsing emails is a new concept to you, some use cases may help you think through how you could use them. Here are a few:
If you are capturing leads using a form on your website, you can send those leads to your custom HostedHooks email, parse the emails via rules and then send that lead data to a third party CRM using webhooks.
If you are running an ecommerce store, whenever you receive a new order email, you can send that email to your custom HostedHooks email, parse using the the rules and then send that data into a Slack Notification so your team knows when to process the order.
You could turn your contact form leads into data in an airtable spreadsheet by sending them to HostedHooks to parse and then connecting to airtable using webhooks.
There are just some of the many use cases and they don't require any code. We can't wait to see what you come up with!
How does it work?
To start you will need to first sign up for an account at Hosted Hooks. Once signed up and logged in, head over to your HookHelpers (there is a link on your dashboard once you're signed in ) and create a new HookHelper endpoint.
Every HookHelper comes with a personalized email for you to use for inbound emails (as you can see in the image below), you can think of these as your inbox.
Any emails that are sent to your custom email address will get parsed and stored on this HookHelper. We currently only allow parsing of email requests so once the system recognizes that you are sending emails, we will give you the option to set up parsing rules.
Once you click on the button to create your parsing rules, you will need to start constructing the payload that you want your final parsed output to look like. We call these rulesets, which are essentially collections of parsing rules that will run and give you a dynamic output based on the contents of the inbound email. The output of a ruleset is a key value JSON pair, where the key is the ruleset's label name and the value is what gets returned after the inbound email gets run through the parsing rules. You can get a sense for what this looks like below.
You can see here that the first ruleset created has a label of "Last Name", that label ends up being the key of the key value pair in the final JSON payload. If you wanted to change the key for that key value pair, then you would edit the ruleset and and change the label name. Depending on where you are sending your parsed email data, you may need to conform the labels to something that works with the third party that you are integrating with. For example Slack notifications require a 'text' key and the value is the output of the message. For this example you would want your label to be called 'text' to meet the requirements of Slack.
Now that we can see how the keys of the key value pairs are defined, let's jump into the parsing rules. As said above, the ruleset is a combination of parsing rules. The way the parsing rules interact is they go in order and incrementally filter down your inbound email contents into a repeatable set of steps that will return a dynamic value when new emails are parsed.
You can see that in action below.
We start with the raw text at the top and we ultimately want to end up with just the first name data. To accomplish this we first create a 'Capture all after the match' rule, which will take the input, in our case 'First Name'. The parsing engine will find the first occurrence and parse out all text following that match.
That gives you the following output.
Now we want to create a rule that will capture all the data before the 'Last Name' value. We do this by creating a 'Capture all before the match' rule and using the keyword 'Last Name:' as the input. With this rule, the parsing engine will locate the first instance of 'Last Name:' and parse the text before that match.
That gives you the following output.
In some cases, you will have some extra whitespace or new line characters surrounding your final output. To solve for this we have a 'Remove leading and trailing whitespace' rule which will remove all of that for you. You may want to add that as precautionary rule, but that is up to you.
In our case here our final output looks good and we are capturing the dynamic data that we intended for at the beginning. Our ruleset is good to go for the 'First Name' value.
To continue, you would go back to your rulesets and build your next key value pair for you desired output data.
Once you are done building your rulesets you will see your final sample output on the rulesets index page (see below). The "current payload" is the structure that each new parsed email will get turned into. Obviously, the data will change as it gets dynamically added based on the contents of the email.
Now that you've defined your parse rules, you will want to take that payload and send it somewhere. HostedHooks makes that really easy by connecting your new constructed JSON and sending it wherever you'd like using our Webhooks. We'll get into how you connect your data to webhooks in an upcoming article. For now, head on over and give our email parsing engine a go.
How Can I Try It Out?
You can sign up for a free account at Hosted Hooks. We provide up to 50 parsed emails a month on the Free Hobby plan which should give you more than enough room to build your parsing rules and test them out. Each email parsing plan also comes with a bucket of webhooks so you can send your parsed emails out to third parties without having to worry about your webhook credits. Remember that this feature is no code ready and does not require a single line of code written.
How Much Does it Cost?
You can view our pricing here.
This is just the start of our email parsing features and we already have more rules and power features in the works. We're looking forward to seeing what you build with this and are excited to offer a new way to get data into HostedHooks using no code.
Let us know if you have any questions!