Integrations are a reusable set of scripts that can be written once and used many times within flows throughout the solution. Most commonly, they are used to connect to external services. For example, your bot may want to provide weather information and use an integration to connect to a weather service.
Integrations are added at the solution level by clicking on the 'Solution' button in the top left, selecting 'Resources', and choosing 'Integrations'.
Every integration can contain one or more methods. For example, a weather integration might have two methods; 'Get current weather' and 'Get weather forecast'.
Each method has a name and an optional description. Additionally, each method can contain input and output parameters and a script.
Input parameters allow your method to receive information from a flow. The ‘Get current weather’ method for a weather integration could, for example, have an input parameter ‘city’. A ‘Get weather’ flow extracts the city from the user’s input and passes it on to the integration via an input parameter. The input parameters can be strings, lists, objects, etc. The type depends on the type of the variable that was transferred by the flow. Input parameters are optional. Their names cannot contain spaces.
Output parameters allow your method to send information back to a flow. The ‘Get current weather’ method could, for example, have two output parameters ‘weatherTemperature’ and ‘weatherDescription’ which can be used by the ‘Get weather’ flow in the final answer. Just as input parameters, output parameters can be strings, lists, objects, etc. Output parameters are optional and their names cannot contain spaces.
This is the script that will be executed when the integration is called by a flow. Both the integration's input parameters and the solution's global variables are available inside the script. For example, the script node of a 'Get current weather' method might receive a location as an input parameter and use a global variable to determine the user's preference for Fahrenheit or Celsius. A method's script can populate its output parameters as well as global variables.
Once the integration is saved, it is available in the ribbon when a flow is opened in Edit mode. From there, it can be used in a flow where the required method can be selected and the relevant flow variables can be assigned to input and output parameters.
For an example of how to add an integration to your solution and use it in a flow, see How to add an integration.