Sean Fielding at Sproket Logic has just introduced Email-To-Flow on the AppExchange. Read on to see how you can have more control over how incoming emails can interface with Salesforce via Flow.
Before we dive into Email-To-Flow, let’s review Email Services.
What are Email Services?
Most simply put, Email Services are automated process that use an Apex class to process inbound email. Once an inbound email is received by the Email Service Apex class, any number of custom processes can be implemented. For example, an email service can generate a lead, update a customer’s invoice notes, or event route job site photos to a work order. The most well-known example of an out-of-the-box Salesforce email service? Oh, that has to be Email-To-Case.
Email-To-Case is an Email Service?
Yup. For incoming email, Email-To-Case is an email service. The email service receives the inbound email and processes the Email-To-Case logic via an Apex class. That logic includes the creation of (or addition to) a Case, the stamping of the related Contact record, the creation of an Email Message record, the creation of the text attachment, and much more.
Sweet. But, if email services work well, why Email-To-Flow?
Good question. Email Services are indeed a powerful tool. However, they require Apex development. In this enlightened age of low-code development, we thought, why can’t an email service be processed in Flow? Then we answered ourselves with, of course it can.
So, it’s 100% Flow?
Well no. Apex is still the work horse for functionality not yet available in Flow. Apex is still required to receive the email, process the based service and retrieve the email data. But these Apex pieces are prebuilt and delivered with Email-To-Flow. So, you only need to worry about the flow.
Interesting, do you have an example?
I sure do. Let’s take a look at Email-to-Case.
Really? But, Email-to-Case works fine, doesn’t it?
Email-to-Case is great out-of-the-box. With a couple of minutes of setup, you are up and running. But let’s image that you want to make a small tweak to the functionality. Maybe you need to modify the process and/or add an additional processing step. Maybe you need one of these use cases:
- Populate a Case product field based on the content of the email
- Route the Case differently based on the subject
- Route the email differently based on the language detected
- Route spam emails to the spam queue
- Link email attachments to the Cases versus the Email Message record
- Remove flagged email attachments from the process
- Identify the Case’s related contact with a different filter
- Leverage Intelligent Document Processing to identify the queue based on the email attachment.
In each of these events, you’ll need to create your own Email-to-Case. And you’ll need an Apex developer….. until now. Let’s take a look at an Email-to-Case implementation with Email-to-Flow.
Email-To-Case with Email-to-Flow
Email-to-Flow starts with the Email-to-Flow installation. The package installation provides the required email service, flow template, and support apex actions to deliver the functionality. And best of all, the default functionality mimics Email-to-Case.
Step 1: Set up an Email Service with the EmailServiceToFlow email service provided by the package.
Step 2: Review the Email-to-Flow custom metadata type configuration. This tells the email service which flow to run for the specific email address. In this case, we are running the delivered Create Case Flow.
Step 3: Review the Create Case flow. Clone it and make your own, or leverage it as is.
Step 4: Enjoy Email-to-Flow knowing that your business requirements are easily obtainable via flow.