How to create integration Templates
ON THIS PAGE
How to create integration Templates
Saas partners can create integration templates, that are made available in their Hub, or that can be fully embedded in their own platform.
SaaS Admin features are not available in free trial accounts. Please contact your account manager to have your account upgraded to a SaaS Admin account.
A template is a Blend that has a setting Is template
. Once a Blend is turned into a template, it can be made available to customers of the SaaS partner. Towards the customer, the template is referred to as an integration
, for example, the ACME Salesforce integration
.
If you have never created an integration (a Blend) on Blendr.io, check the Getting started video video. Please contact your Blendr.io account manager if you would like Blendr.io to create one or more integration templates for you.
A customer will typically click on the button Use integration
, and this will create a copy of the template in the account of the customer. The copy is an actual Blend that will e.g. run automatically according to its schedule or that will be triggered by a Webhook.
Creating a new template
Make sure you are logged in to Blendr.io with your SaaS Admin account. Go to the tab My integration templates
and click on Add new template
:
This will open the Blend editor with a new blank Blend, and the setting Is template
will already be turned on. Please make sure to double-check a few Settings in the right-hand pane under the tab Settings, at the bottom:
- Template: should be set to
Yes
- Status: should be set to
Live
to make the template visible to customers - Name: e.g.
ACME Salesforce integration
- Description: describe the features and limitations of this integration, you can use markdown to add e.g. titles, bold text, hyperlinks, etc. (HTML is not accepted)
Adding a Setup, Settings and Delete flow
When the toggle Is template
is turned on, you can add extra Start blocks to your Blend, Setup
, Settings
and a Delete
Start block:
Setup flow
Add a Setup block if you want to create a Setup flow. The Setup flow is a Setup Wizard that the customer will see after clicking the button Use integration
. The Setup flow is executed only once. If the customer wants to run the Setup again, she will have to delete the integration and add it again.
Settings flow
Add a Settings block if you want to create a Settings flow. The Settings flow is a Settings Wizard that the customer will see, each time she clicks on the Settings button, on the detail page of the integration. The Settings flow can thus be executed multiple times. Please note that the Settings flow is also executed automatically after the Setup flow, so the Settings Wizard screens are displayed immediately after the Setup Wizard screens.
Delete flow
Add a Delete block if you want to create a Delete flow. The Delete flow is executed when the template is deleted by the user. This flow can perform clean-ups, e.g. removing data from the Data Store or the CDP.
Defining user inputs for the Setup Wizard
If you want to allow the customer to set options during Setup, add one or more input blocks in the Setup flow. Each block will be displayed as a new consecutive screen in the Setup Wizard. Example:
In the Setup flow, you will typically perform one-time actions, e.g. creation of custom fields, one-time imports, etc. You will typically add Conditions to take into account the choices made by the customer. Example:
Make sure to Persist the user inputs, in case you want to remember the choices made by the customer. This is needed when you add e.g. a Condition in the normal run flow of the Blend (under the regular Start block), that references an input from the Setup flow:
Defining user inputs for the Settings Wizard
If you want to allow the customer to set options under Settings, add one or more input blocks in the Settings flow. Each block will be displayed as a new consecutive screen in the Settings Wizard. Example:
Similar to the Setup flow, please make sure to persist user inputs, since you will most likely read these inputs during each run of your Blend:
Reading user inputs from Settings
You will typically read Settings from the customer, in each run of your Blend:
Settings of the template
Make sure to set all the settings of the template on its detail screen:
Settings:
- Disable
Run
: typically this is set to Yes so that the customer will not see aRun
button to run the integration manually. This setting should only be set toNo
for integrations that have to be executed manually, e.g. for a one time import or export - Run immediately after Setup: set to Yes
- Real-time: set to No
- Template: set to Yes
Setting a schedule
If your integration needs to run on fixed intervals, make sure to add a schedule on the detail page of the template (cannot be done inside the Blend editor):
Settings:
- Schedule every: set the interval, only use short intervals (e.g. every 30 seconds or every minute) for short running Blends, typically Blends that use incremental blocks that only process new or updated data
- Automatically set start time: change this to
No
if your integration needs to run e.g. always at night at 2AM. If set to Yes, the actual start time will depend on the time the integration was activated by the customer - Schedule can be changed by user: typically this is set to
No
so that your customer cannot change the schedule - Run immediately after Setup: set to Yes
Add the template to a category (group)
Make sure to add the template to at least one category or Group to make it visible in your Hub. Start typing a category name to add it, e.g. Root
to add it to the main page of the Hub:
Your template in your Hub for customers
Your customer will now be able to find the integration in your Hub or Market Place:
The user can click the integration and click on Use integration
on its detail screen:
The user will now have to connect the tools used in the integration, and then complete the Setup Wizard (including the Settings Wizard):
Once this is done, the integration is live, and running according to its Schedule or triggered by Webhooks. The user can click on Settings
at any point in time to change the Settings of the integration. The user can disable the integration or delete it to fully remove it from its account.
Pushing updates of templates to customer accounts
An instance of a template (Blend or Bundle of Blends) is always a copy of that template in the customer account, so it will never be updated automatically after a template has been updated in the SaaS admin account.
You can find an overview of all instances of a template under the tab Instances
on the template home page:
The list will show which version a customer is using (date & time) and if the instance is still compatible, meaning it can be updated to the current (new) version. To update the instances in customer account, you can select one or more instances with the checkboxes, or click Select all
. Next click the Update
button.
There are two reasons why an instance is not compatible anymore with the current version of the template:
- The Blend was manually changed in the customer account. Note: this includes any change that was made to the Blend (
Save
was clicked or Blend was executed manually inside the Blend editor which automatically saves the Blend). - The Blend has different persisted inputs, e.g. a new required field was added in the Setup or Settings flow in the template.
What to do when an update is needed and the current instance is not compatible ?
- You can make changes manually in the Blend inside the customer account
- You can remove the instance and install it again. Templates should be created best on patterns that will e.g. avoid duplicates, so doing a full rerun of the template should not cause issues in terms of the data being synced. More info: Design patterns overview
Note that the pointers (from incremental blocks) of active Blends will not be affected when you push a template update, the pointers will not be reset.