Parse Email Body Message

Published 2 years ago

Template description

Who we are

We are Aprende n8n, the first n8n Spanish course for all n8n lovers.
If you want to learn more, you can find out more at Aprende n8n.

Task goal

This task allows extracting data from any email body with a NoCode snippet.

An small explanation

You receive an email when a user submits a form from your website.

All those emails usually have the same structure as the next one:

Name: Miquel
Email: [email protected]
Subject: Welcome aboard
Message: Hi Miquel!

Thank you for your signup!

This task allows to parse any email body and assign all values to the defined labels, getting an output like this:

{
"Name": "Miquel",
"Email": "[email protected]",
"Subject": "Welcome aboard",
"Message" "Hi Miquel! Thank you for your signup!"
}

After importing it

When you import the import, you get the next task in your n8n:
aprenden8n.com_email_parser_task.jpeg

We recommend importing this workflow into your current task and adapting it.
You define a couple of variables in the "Set values" SET:

  • body: the email body you want to parse. You can add this as an expression from previous variables.
  • labels: the keywords you want to detect and parse. Labels are case insensitive.

We define the next values:

Body

Name: Miquel
Email: [email protected]
Subject: Welcome aboard
Message: Hi Miquel!

Thank you for your signup!

Labels

Name,Email,Subject,Message

A screenshot of the Set output is the next one
aprenden8n.com_email_parser_set.jpeg

If we check the "Function item" Node, we get the next content after executing the task:
aprenden8n.com_email_parser_output.jpeg

Capabilities

The task has the next features:

  • You can detect as many labels as you want.
  • Label detection is case insensitive.
  • You can use the snippet as an independent workflow to call it generically, adding the Function item to the workflow and passing body and labels as paremeters.

Limitations

This task has limitations:

  • The parser only accepts the multiline values at the end of the email.

Help and comments

If you have any doubt about this snippet, please, contact us at [email protected].

You can contact us at Aprende n8n or in the Spanish n8n community

Share Template

More Building Blocks workflow templates

Webhook node
Respond to Webhook node

Creating an API endpoint

Task: Create a simple API endpoint using the Webhook and Respond to Webhook nodes Why: You can prototype or replace a backend process with a single workflow Main use cases: Replace backend logic with a workflow
jon-n8n
Jonathan
Customer Datastore (n8n training) node

Very quick quickstart

Want to learn the basics of n8n? Our comprehensive quick quickstart tutorial is here to guide you through the basics of n8n, step by step. Designed with beginners in mind, this tutorial provides a hands-on approach to learning n8n's basic functionalities.
deborah
Deborah
HTTP Request node
Item Lists node

Pulling data from services that n8n doesn’t have a pre-built integration for

You still can use the app in a workflow even if we don’t have a node for that or the existing operation for that. With the HTTP Request node, it is possible to call any API point and use the incoming data in your workflow Main use cases: Connect with apps and services that n8n doesn’t have integration with Web scraping How it works This workflow can be divided into three branches, each serving a distinct purpose: 1.Splitting into Items (HTTP Request - Get Mock Albums): The workflow initiates with a manual trigger (On clicking 'execute'). It performs an HTTP request to retrieve mock albums data from "https://jsonplaceholder.typicode.com/albums." The obtained data is split into items using the Item Lists node, facilitating easier management. 2.Data Scraping (HTTP Request - Get Wikipedia Page and HTML Extract): Another branch of the workflow involves fetching a random Wikipedia page using an HTTP request to "https://en.wikipedia.org/wiki/Special:Random." The HTML Extract node extracts the article title from the fetched Wikipedia page. 3.Handling Pagination (The final branch deals with handling pagination for a GitHub API request): It sends an HTTP request to "https://api.github.com/users/that-one-tom/starred," with parameters like the page number and items per page dynamically set by the Set node. The workflow uses conditions (If - Are we finished?) to check if there are more pages to retrieve and increments the page number accordingly (Set - Increment Page). This process repeats until all pages are fetched, allowing for comprehensive data retrieval.
jon-n8n
Jonathan

Implement complex processes faster with n8n

red icon yellow icon red icon yellow icon