Passing unique URL strings when sending emails

We have a number of email templates that we’ve built for our campaigns on Infusionsoft, that we’d like to add unique URL strings to so that they are user specific.

Example: When someone creates an account (or needs to do a password reset) on our website, we’d like to trigger an email to go out via the Infusionsoft APIs where the URL in the email has a unique link that enables that user to login to their account.

Looking through the Infusionsoft API documentation, all I see is the ability for us to send emails where we pass all of the information in the email (Keap REST API) as opposed to using the APIs to trigger an email template we have built on Infusionsoft and only need the URL to be unique inside the email (as opposed to passing along the entire subject/body/etc of the email)

Does anyone have suggestions and/or documentation that shows how we can do this?

Thanks in advance!

Need a bit more information:

What are you using for membership?
Why do you believe the api would be involved? (is there another part of the process you haven’t mentioned?)

Hi John,

Here is an example of a URL we would need to be customized:

In this example, everything after “” would need to be injected into the email template before it gets sent out to a unique recipient.

I’m not sure what you mean by “What are you using for membership?” - could you clarify?

As far as why I believe the API would be involved, it is because our system needs to communicate to Infusionsoft to let it know to send a specific email template to a specific contact, and then pass along the customized portion of the URL for that specific contact.

Is there another way we would trigger those emails to be sent and pass along the customized portion of the URL?

Thanks again for your help!

@John_Borelli Any advice as to how we should proceed? Thanks again!

As far as the membership question, it came from you stating “when someone creates an account”…I guess you mean when a contact record is created (it’s never been referred to as them creating an account so it sounded like you had membership setup somewhere like WP).

You say “our system” but it’s important to know what that means more often than not … still, the api will allow you to “command” Infusionsoft to send an email but the methods can vary some by the api implementation you are using. Is it the legacy or new xml-rpc or rest?

rest lets you provide all the data. the rpc allows you to either send by template and provide the id to fill in the merge code data with on the app side OR you can just provide all the data and tell IS to use it to send an email with it to the contact by the contact id…so it depends what api you’re using.

Hi there

So the customised string needs to be stored in a custom field.

Then all you need is the API to generate that customised string and store it in the custom field.

When you say stored, which place do you mean that custom field is going to be stored? In the infusionsoft side?

Yes store the value in a custom field on the Infusionsoft side so it can be merged into a link in an Infusionsoft sent email

I am trying to figure it out. Must it be like a setting in the admin page? or must it be sent by a call to the api?

It would need to be an API call

So when someone registers on the site it then triggers a php script that captures that custom part from the website and makes an API call to Infusionsoft’ to store it in the custom field

I would also get that API call to apply a tag when it’s done so campaign builder then knows the value is stored in the custom field and can send out the email with the link in it

I think that is not the process how we generate the email contents, for this part of your answer “So when someone registers on the site it then triggers a php script …”
The users will not interact with this tool. We are implementing a backend tool that will be sending emails through your API. So, we generate the links from our records according to user profile (ie: ).
Then, we need to replace the key tokens (see picture) like name, or the link in the button.
Once is replaced, then proceed to send the email.
Out tool is being developed in Csharp following this example. GitHub - EventDay/ A C# Wrapper around the API