Before starting to implement a Dynamic Flow, make sure you're familiar with embedding a regular, static Flow as described in this guide.

Product Flows are a great way to dynamically extend your regular Flows by pulling in posts connected to a product. 🌞

Let's start with the prerequisites:

  1. In order for Dynamic Flows with product posts to work, you need to have posts with products connected through Flowbox's Commerce function.
  2. You then add the embed script to your HTML source, the same as for static Flows, with one small change; you also pass in a productId  when calling the init method:
  window.flowbox('init', {
    container: '#js-flowbox-flow',
    key: 'Your-Flow-Key',
locale: 'language-COUNTRY',
    productId: 'product-1234' // Display posts that have `product-1234` connected
  • The key property is the Flow key. The easiest way to find this is by copying it from the "Copy Flow Key" option in the meatball (three-dot) menu in Moderate in Flowbox:
  • The locale needs to have both a language and a country code to work correctly: e.g. sv-SE or da-DK. In order to get a correct translation, you will have to pick a locale from the list of supported locales. If you pass in an unsupported locale, buttons and text will be displayed in English.
  • NOTE: Please also make sure to use language-COUNTRY instead of language_COUNTRY. For more info on which languages we support, please visit this page.

Setting up the Flow dynamically

Because the Dynamic Flow function is made with the express purpose of displaying related posts in mind, you will also benefit the most from them by setting them up dynamically. One way of doing this is by adding this to a template in your CMS or E-Commerce system. This will vary greatly depending on which platform you're using, but most have separate templates for product pages.

Here's an example of how the window.flowbox('init')  could look in a platform that uses handlebars-style templating:

window.flowbox('init', {
  container: '#js-flowbox-flow',
  key: 'Your-Flow-Key',
locale: 'country-LANGUAGE',
  productId: {{ $product->id }} // Product-ID must be a string in the final output. See example in snippet above.

Hopefully, this can give you a hint as to how to implement Dynamic Flows in your specific platform. 🙏

Additional resources

Did this answer your question?