Hi @pete,
Thanks for asking your question in the Community!
Do you mind sharing why you’re choosing to sync templates via the Klaviyo API over our other options? Other customers have had more success making use of the Track API endpoint versus our Template API.
Additionally, some advantages of using Track API + Flows over template API include the following:
- Emails can be marked as transactional
- You will get access to analytics and advanced reports on your email sends
- You can segment profiles based on the event data
Thanks for sharing your question in the Community!
-Taylor
Heya @Taylor Tarpley ,
Thanks for the quick response.
Hoping this gives you some more clarity, and I hope it isn’t too brain-dumpy:
- We have >50 templates we want to keep in sync for our content team to start and edit on the fly. I run Design Systems and also am the one coding all of this stuff to sync up to Klaviyo.
- What we did is that we have a local environment compiling our Klaviyo code to see true outcomes locally - components, being able to preview with people, get the email size, yadda yadda...
- When we update a global element - say a navigation bar or a footer, without the API sync - one of our poor designers or member of our content team would have to go through and update all 50 of the templates. That sucks.
- So far, to my knowledge, it is not possible to update a Flow template with it’s variant data via the API. I also know that we can leverage web feeds (which we are doing heavily now) - but also, with new & exciting knowledge this morning with help from @Dov and @walid.bendris - this has been a game changer. But with this approach (rendering HTML, etc), we still have to go through and manually update all 70+ flow message templates and ‘re-sync’ their information into the templates using the web feed approach to render actual HTML instead of looping through arrays. Hence why I chose the Template API to sync everything up, because we have been constantly updating all the templates all over again and it’s getting quite frustrating.
- So I whipped up a small Node script to run a JSON file through the Klaviyo Template API to sync up all 50 templates (which was significantly faster than manually pasting HTML or uploading files one by one) - it worked awesome and we were about to celebrate our newly found time saver, but to our dismay, none of these templates were drag-and-droppable once we loaded them into a campaign, which is definitely what the content team needed. Woof.
- Important things to note here: we are painfully aware of the difference of a TEMPLATE and a FLOW. A flow message uses a template and after then - I don’t think there is (or haven’t found) a way to update the FLOW message template. For example, replacing a specific variant I don’t believe is supported.
- At this point, I’m left with considering making the body of the email 100% come from a web feed coming from a separate CMS and build a hefty Django if/elsif loop to render content from that we can manage on a large scale as we continue to leverage Klaviyo.
Hi @pete,
I don’t mind the brain-dump, it helped give me more insight into your situation. Thank you! Unfortunately, after conferring with some of my colleagues, I can confirm that the reason you can’t use the template API in its full capacity is because it has been restricted for public use.
I’m very sorry for the inconvenience, as I know you have many templates to that you will now have to edit individually. However, I can reveal that we have a feature coming out our New Template Editor that will soon have the capability of universal content which will help save time in the future as your editing all your content!
-Taylor
Hey @Taylor Tarpley ,
Thanks so much for the info. This is what I expected. I too am excited about the New Template editor although I noticed you cannot upload custom HTML to the New Editor (currently) - so it makes it a little useless to us for the time being. I’m excited to hear when we can start uploading our own custom HTML to it and leverage the universal blocks.
Thanks again for your help.