Posted: June 24, 2020 at 1:42 pm
I am using an email text parser (parser.zapier.com) to pull registrant info (first name, last name, email address) from the Event Espresso 3-generated registration confirmation email sent to the Primary Contact Email address. I am using a Zapier Zap to send this information to BigMarker, a webinar platform, and that parsed information automatically registers the registrant for the webinar event.
The issue I am having is that the confirmation email sent by EE3 has <p> and tags in it, and that HTML is making it hard for the parser to accurately pull the correct fields. I’m attaching a screenshot to show the issue.
I am not a PHP expert, but I think there should be a way I can modify the email.php template to strip this formatting and essentially make the confirmation email plain text. Is there a way to do this? The simpler the email, the better chance the parser will have of understanding the content. I only need to edit the confirmation email sent to the primary contact – the confirmation email sent to the registrant can remain the same, if that makes this easier.
Whilst it would be possible to edit the functions used for this, you would need to hack up core to do it as we currently the functions used can’t be overridden without modifying the files themselves.
Also, a parser should have no problems removing those HTML tags from the content, they are just standard tags which any parser should be well aware of and able to remove/parse/work with without issue.
I tested this using my Zapier account, signed up to parser.zapier.com and then triggered a confirmation email to the zapier address, this all worked without an issue:
You can see there all of the HTML tags have been stripped from the email automatically by zapier and selecting firstname, last name and email was really simple using the template: https://monosnap.com/file/nqGDgJoNAdfFdTbVcy4iruECl1jezj
So I think the question now is, why is zapier stripping the tags out from my emails but not yours.
I looked at the screenshot examples you attached from the parser (both extracted and template) and I would assume you’re using EE4? Your screenshot omits the P , TD, and STRONG HTML tags that I’m getting on my end that you said would be very difficult to modify in EE, but that the parser should be smart enough to recognize.
After an hour more of testing, I’ll tell you that the parser is not always smart enough to figure the HTML stuff out, even with six additional templates saved. I decided to create a new Zapier Parser mailbox and ONLY pull three data fields – first name, last name, email address. The first parser I set up, I was trying to pull organization, address, phone…identifying all field information. But the integration with BigMarker only allows me to pull first name, last name, and email, so I figure the simpler setup could result in more accurate data being pulled. So far, the simpler setup is working. Two tests so far, and the parser was able to accurately pull first, last, and email, and send that data over to BigMarker.
So I’ll just call this my work-around and you can close out this ticket. It would be cool if, in the future, EE could integrate directly with Zapier so we could skip the parser. Are there any future plans to do so?
Nope, that’s using EE3.
EE4 emails are very different to EE3, I can tell your using EE3 so I tested EE3.
It’s not necessarily very difficult but it’s not easily done either. You would need to modify a few different functions within core and some of those can’t be modified without hacking core itself which then means you can’t update EE as you’ll lose your modifications.
The email contains just standard HTML tags so yes, the parser should be able to recognize those and thats what is happening in my screenshot. Zapier is removing those HTML tags from the content and just working with the actual content itself, which makes sense to do.
Ok, now this does changes things a little as in your initial post you only listed first name, last name, email address although again, the emails should be consistent which means the parser should be able to work those out.
Yeah if the parser is struggling with the emails as is, I’d recommend only pulling in the info you need.
Can you post a screenshot of the template you have created in Zapier? I’ll do some testing this end with the same setup. For screenshots you’ll need to host the image and post the link here to view, we have some examples here:
Not with EE3 but possibly with EE4.
EE3 is no longer under ‘active’ development apart from security/critical fixes and will eventually (note, you will have plenty of notice of this, we will NOT just leave our customers hanging) be phased out in favour of EE4. We have discussed integrating with zapier previously but nothing set in stone just yet.
And here is a screenshot of yesterday’s most recent parse results after creating a new attendee registration:
As you can see, even though in the Template I have only selected one area each for First Name, Last Name, and Email, the parsed result is pulling First, Last, and Email from two different areas of the content. This doesn’t seem to be a problem, since it is pulling in the correct information, I just find it odd that it’s pulling data from areas I didn’t indicate on the template. Maybe it notices when two fields have the exact same content and highlights them both? Not sure.
Thank you for the help with this. Also, thanks for the heads-up about EE3 being phased out in the future. I expected this day was coming, I just hope I can convince this client to use a different payment gateway. He had his heart set on processing payments through his regular merchant services provider, who uses PayTrace as their gateway, and that’s actually why we chose EE3 to begin with several years ago.
What you are doing when selecting ‘areas’ in the email, is telling the parser how to find a specific section of Text, if that same text used in multiple locations throughout the email then they still highlight it.
So if I have
Then tell you may First name is after
In short, you’re creating patterns on how to identify a specific string as something and then that can be applied throughout once it knows what the actual value is.
You could look into creating a custom payment method for Event Espresso 4 to use paytrace. If you are comfortable with PHP creating payment methods is not all that difficult although if it’s not something you are comfortable with thats totally understandable.
There are places like WP Gateways (note we don’t have any connection to them we just noticed users using payment methods from them) who are familiar with creating payment methods for EE who ma be able to create one for you.
Thank you for the link to WP Gateways. It sounds like we’ll definitely be using their services in the future to help integrate the PayTrace gateway into EE4, since I am not comfortable with PHP.
The client I’m working with chose to use WebinarJam instead of BigMarker, so I’ll be testing another integration platform today (Integromat) to get registrations from EE over to WJ. This may bypass parsers completely – will have to test and see how things work.