Solved

Account Activation Webhook for Flows

  • 15 April 2023
  • 2 replies
  • 228 views

Badge +3

Is there a way to trigger a Flow in Klaviyo in the following way?

  • A customer account has a tag added to it of “wholesale_account_approved”
  • A flow is triggered based on that tag
  • A webhook or something sends the customer an account activation URL so the customer can set a password for his/her account

My uncertainty is on the last bullet point above.

We only allow wholesale customers to see certain things on our website so once we approve an application, we need the customer to be able to set a password so they can login to their account in order to be able to shop wholesale items.

 

The alternative method is to just have the customer enter a password as he/she fills out the application, but ideally we could have the application be submitted, then have the customer create a password upon the wholesale application being approved.

 

Thanks in advance for your time and help.

Kind regards,
Adam

icon

Best answer by Omar 15 April 2023, 14:48

View original

2 replies

Badge +3

Thank you for your response Omar 🙏
I appreciate you taking time to explain all of those things and provide those resources.

 

From what I gather, it looks like clients that want to achieve what we are looking to do would need to store activation URLs in a custom profile property which would need to be sent via the API with some custom dev work. I was hoping to avoid this and just use Shopify & Klaviyo’s integration and built-in capabilities, but we can certainly do the dev work since it seems that will be necessary.

 

Of course, with Shopify’s “new accounts,” accounts don’t even set a password but rather get a single sign-on email each time they want to login. With the “new accounts”, accomplishing this may be easier than with the “old accounts” version of Shopify.

Again, I appreciate all your help Omar and I hope this post may not only help me but people that may be searching for a similar answer in the future.

Kind regards,
Adam

Userlevel 7
Badge +45

Hi @Daily Grind Digital,

Welcome to the community. Great question.

You're refering to tag's which I think is used in ActiveCampaign or Drip type of automations if I'm not mistaken. In Klaviyo however there are a couple of ways to trigger flows based on a condition.

The first condition being if an event took place, for example someone placed an order, opened an email or gave a review. In all cases information is send to Klaviyo and these are the events you can use to trigger flows.

A second way this can be done is to add/change/remove custom properties to a profile. These can then be used in segments to group profiles based on i.e. custom properties.

Now to answer your question about how to set this up, yes it's possible.
The approach however is depended on how this profile property is set on a profile. Are you currently sending an event that has this information? Is this event also updating the profile property of this person?

If you're sending an event to Klaviyo that contains all the info you can trigger a flow based on that event, add an profile property action in that flow that updates the profile.
If you're only adding a custom profile property for a profile based on if someone is approved my suggestion would be to send an event as well. If you're unable to then use a segment to dynamically add people based on that specific profile. Keep in mind that segments don't update in realtime and could have a 1h delay.

Lastly about sending the account activation URL. My suggestion would be to send the unique activation URL as part of the event and/or if it's an unique ID (i.e. www.site.com/activation/clientuniqueid=123454) specific to each profile and that you plan or need to use it for multiple email that you save this unique ID as a custom variable so you can use this in the last stap of the flow. The last step being the email that contains the activation link.

So you have 3 choices:

  1. have the activation link added to the event you sent to klaviyo so you can re-use it or,
  2. if it contains an unique variable that's tied to the user to have only this variable sent to klaviyo (and reconstruct the whole url using this ID).
  3. If it's a general URL which is the same for everyone, just add this in there. 

Security is also an important thing to consider her, you don't want to push both username and password in a link, in case it falls in the wrong hands you don't want people to be able to auto-login.

For adding the URL's you will need to use the variable either from the event {{ event.activationURL }} (or how it's named in your case) or reconstruct the url based on the variable you've set www.activationwebsite.com/activation/clientuniqueid={{ event.activationURL}} or {{ email }} if that's the uniqueID (I'm making these up to give an example).

Checkout these resources:

 

The question is how are you currently sending data to Klaviyo? What data is being sent?

 

It took some time to write this answer so I hope it helps!

 

Omar Lovert // Polaris Growth // Klaviyo Master Platinum Partner

We help with e-commerce growth through CRO, Klaviyo and CVO

Reply