Approach #1: Separate flows
Summary: This approach processes each partner’s files using a separate flow. When to use this approach:- You are working with a large number of partners (10 or more)
- Different partners use different file formats (PDF, Excel, CSV)
- For each partner, create a separate flow that begins with a “Pull from Inbound Email” step
- Within each of those flows, set up the logic necessary to clean the file from that partner and export it if needed
- To fully automate the process, go to your email inbox and set up an auto-forwarding rule that forwards the emails from each partner into the appropriate flow
Approach #2: Multi-format parsing
Summary: This approach uses a single flow to parse files from multiple sources. When to use this approach:- Each of your partners are sending data in the form of a PDF
- You are working with <10 different partners
For each parsing format:
- Name each parsing format after the relevant partner
- You can do this by replacing “Format [#]” with the name of that partner
- Set up the conditions under which the parser should use that format
- You can do this by configuring the “Use this format when” dropdown
- Click into “PDF parsing settings” and configure the tables / individual values you want to parse for that format
The Pull from Inbound Email step should now be fully set up. Click out of the step and back onto the canvas
Add branches
- Add 1 “Filter Rows” step to the canvas for each parsing format
- Connect each filter rows step to the “Pull from Inbound Email” step
- Set each filter rows step to keep a different parsing format from the “parsing format used” column
At this point, you should have a “pull from inbound email” step that connects out to multiple “filter rows” steps.
After each filter rows step, add a “edit columns” step
- Switch the “keep all columns” toggle to “keep these columns”
- Click “add all”
- Check the “Guarantee kept columns” box
- Uncheck the “Throw error when missing columns” box
This will ensure that each branch is always receiving the same set of columns, preventing any errors from occurring down the line
In each branch, build out the logic you need to clear and standardize the table
- Each branch should end with a table that has the same set of columns with the same set of names
Add “Stack tables” step to stack all the branches together
- Whenever you run this flow, only one of the branches should have any data in it, so in practice, this will just keep the data from that one branch.