Generate a dynamic URL within email HTML - email

I am having trouble finding a solution to this and would love to any thoughts or suggestions.
The overall aim is to dynamically generate a private link within an email, used to register/login users anonymously. Only those with a link will be able to access the app, and they will otherwise remain anonymous (i.e no link to their email address - identified only by the number included within the dynamic link). Obviously, if they share this URL, anyone can log in as them.
I would like to generate some sort of embed code that customers may copy/paste as part of an email template. Ideally, This code would dynamically create a unique identifier for each recipient on delivery. We will not be able to send a dedicated email to do this. For example, a customer clicks 'Generate embed link' within the admin panel. They will be provided with a html string that they may include within their email template, eg:
<html :href="www.myapp.com/customer1/register/batch1/{{dynamic_id}}"></html>
On receiving this email, the link may look like this:
<html :href="www.myapp.com/customer1/register/batch1/7877346"></html>
The idea is that the user could click the link and automatically register/log in using this URL. It is crucial that no one can see this URL other than the recipient, and there is no way of linking the sent email back to the dynamically generated ID. GDPR, bah :(
Hope this makes sense. Happy to hear alternative solutions or limitations here.
Thanks in advance.

Related

Power Automate sync/download to Dropbox file at URL link in email

I am trying to create a Power Automate flow that automatically syncs to Dropbox a file contained at a URL link in emails.
The email is always from the same email address, let's say: "example#example.com"
The URL link always has the same hyperlinked text: "Link to Signed Affidavit with Original Document Attached"
The URL link itself is dynamic and looks something like this (example): http://www.example.net/asp/showattachment.aspx?BlobID=aso23-gjin42-skgn34-23632
Each such email only contains one such link.
When the link is clicked, it goes to a PDF file in the webrowser. The link is not redirected to a different link.
I'd like this to trigger every time such an email is received. I'd like this to operate in the cloud without any desktop interaction.
Thanks!
I solved this myself.
In the "Compose" section, you need to parse out the URL from the email body using your own code. Below is what I used for my specific usage case. For my specific situation, I knew the URL would always be the same number of characters. If the URL length varies between emails, you'll need a more complex parse.
substring(outputs('Html_to_text')?['body'],add(58,indexof(outputs('Html_to_text')?['body'],'Link to Signed Affidavit')),95)

Dynamic CRM - insert external hyperlink with dynamic parameters in Email workflow

I have a Workflow in CRM 2016 on premise that sends an email to a customer when an order is created. The email contains a URL link to external website used for scheduling. The problem is that the hyperlink in the email doesn't fill the parameters we are using from the CRM entities.
I tried several ways to do this. the first way was using the Insert Hyperlink when creating the email through the workflow. this creates the following tags:
<hyperlink><name>Pro Services Online Scheduling Portal</name><value>https://secure.website.com/ProServices?name={Ship To Contact(Order (Order))}&email={Email(Ship To Account (Account))}&OrderID={Order ID(Order (Order))}&Company={Customer(Order (Order))}&skip=0</value></hyperlink>
This correctly adds the hyperlink into the email but the actual link looks exactly as it does in value tag without the CRM values.
I tried just adding the link as plain text like so:
https://secure.website.com/ProServices?name={Ship To Contact(Order (Order))}&email={Email(Ship To Account (Account))}&OrderID={Order ID(Order (Order))}&Company={Customer(Order (Order))}&skip=0
This displays the correct URL with the correct CRM values like: https://secure.website.com/ProServices?name=JonDoe&email=jdoe#email.com&OrderID=ORD-123456&Company=FakeCompany&skip=0
However, the URL itself is still missing the values so if the customer clicks on the link, the incorrect parameters will be sent. It does work if the customer were to copy and paste the link text instead of clicking the URL but most customers would rather click the link.
I even tried used an HTML anchor tag but that also didnt work.
Has anyone else encountered this problem?
Any help would be appreciated.
Here's some blog posts that helped but still looking for answers.
http://dotnetskills-reenapatel.blogspot.com/2014/02/how-to-form-dynamic-hyperlink-url-for.html
http://www.magnetismsolutions.com/blog/paulnieuwelaar/2012/06/25/dynamic_clickable_email_hyperlink_dynamics_crm_2011_workflow
If you want to use hyperlink then you have to do something similiar to what CRM does for field Record URL(Dynamic).
You can create a new field on the entity say 'EntityName Hyperlink'. Then use plugins to set this value to the desired link on create event.
You can then use this field to create your hyperlink. We do something similair for our case entity we have field Case Hyperlink which i set on create event.
Then we insert it on outgoing emails like this
<hyperlink><name>Hyperlink</name><value>{Case Hyperlink(Case)}</value></hyperlink>
We ended up creating a custom workflow activity to add the hyperlink using SparkleXRM

What portions of the marketo code snippet can change?

My company is using marketo forms, and we are generating the page from a content management system.
We'd like to keep the contribution experience as simple as possible and prevent the user from contributing actual <script> tags.
The API documentation says they will give you a block of code that looks like this:
<script src="//app-sjqe.marketo.com/js/forms2/js/forms2.js"></script>
<form id="mktoForm_621"></form>
<script>MktoForms2.loadForm("//app-sjqe.marketo.com", "718-GIV-198", 621);</script>
My question is, what portions of this code are subject to change?
I am sure the 3 part hypen separated string and the integer being passed in can change.
What about the app-sjqe.marketo.com address?
The 3-part string is your Marketo instance ID, and shouldn't really change. The other integer is the form ID, which definitely will change depending on what form you want to embed.
The other thing that you may want to consider, is the other configurable options that you can send along with the form embed. For example, in the module that I have made for my CMS, I let the user put an optional 'thank-you' page URL, to redirect the form to after submission, and also a checkbox to optionally open the form in a lightbox on page load.
The simple module I made is for the Sitefinity CMS - happy to share code with you if that helps!

Typo3 and DirectMail - Substitute

The template for my newsletter that I send with DirectMail in Typo3 is like this:
<span>DEAR ###USER_first_name### ###USER_last_name###</span>
But theres a link to "Show Newsletter in browser". In this case it would be impossible to show the name, since this info is in tt_address and its filled when the Engine sends the email, but I would like to replace it so that at least the user can read:
Dear reader,
Is there any way to do this, so that the email keep showing the name, while the web version shows the generic greeting?
You could create a second page with the generic content and link to that one in your newsletter. That page may also contain some more content, like social media "like buttons", for instance.
Or you may add a parameter to the link which identifies the user, so the web-version may load the data of that specific user from the database. In the last case, it may open up a potential security risk if your parameter is not secure enough and can be guessed or iterated over. So be sure to secure that thing if you make it personalized.

Newsletter link tracking

I was working on a newsletter system, it's done now and it works fine. Today I was talking with a client about an upgrade for the system that does the following ->
"Automatic link tracking: View who
opened your email and what links they
clicked on."
Now, I have an idea on how to do this to add #id variable from the user query string on each link and then add a counter on each site to see who opened the link. BUT, is it possible to do this somehow else (without the counter on each link)? And how is it possible to track who opened your mail??? I saw a couple of newsletter system websites that say they can allegedly do this...
Thank you for your time!
The only way to track who opens your emails that I can think of is to use the query string trick with the images embedded in your email. This approach is obviously fragile since viewing of inline images can be turned of in most email clients.
As was mentioned; it is not possible to track everyone who opened the email. But you can track who clicked on a specific link. The method you mentioned with the #id variable will work - but instead of embedding the actual ID in the link, I would recommend encrypting that data and not sending the actual user id in the email.
To get the users who actually opened the newsletter, you can insert a 1x1 pixel image into the email as hidden content. That pixel would come from www.myserver.com/tracker.gif?foo=bar.
Then you would look at your web server log or log this request in a database so that you can track the ones who really opened the newsletter.