Connector Migration

Learn how to migrate from the custom (v0) to the certified (v1) connector.

INC Work in Progress

This area of the Knowledge Base is still work in progress (WIP). Expect changes to the layout of this page as improvements are made.

✅ Note: With the new V1 connector all existing flows need to be migrated manually. 

On this page we explain the differences between the (previous) Custom Connector and (upcoming V1) certified Nimbus Power Automate Connector and how you can migrate your existing flows.

✅ Please consider the the following comparisons below to prepare for the migration see what you need to look out for. Please note that a flow migration will also be necessary when you switch from any Custom-installed V1 to a Microsoft Store “certified” connector.

 

Connector Detail Comparisons

Triggers

The new certified connector will feature clearer namings. Triggers and Trigger Events will therefore be easier to read and differenciate.

Version v0 Version v1

You can either use 

GetOnNewTasks – when a new Nimbus task is created in the system.  

 

GetOnUpdatedTask – when a task has been updated. You need to use this when the task has been routed into a sub service. 

Use sesion event=AcceptedBySystem for all new tasks in an underlying service.

 

A screenshot of a computer
                                                                Description automatically generated

 
 
 
 

When a task changes state – New or old tasks, use this trigger whenever a task changes state (new in the system, has been routed into a sub service, parameter updated, all other workflow events that can occur).

 

 

 

 

 

A screenshot of a computer
                                                                Description automatically generated

Comparison of legacy (v0) and certified (v1) connector

Trigger Outputs

Trigger Outputs (JSON format) will change in their format. Below is an example:

Red= removed in v1

Green= added in v1 – All fields are always available in the outputs for v1, even if the content is null. The field “Customer” is omitted in v0 when its content is null.

Yellow=Renamed in v1 (Name and/or values)

Tip for migration: Note that these JSON format changes will also require updates to your follow-up references within the flow (e.g. stored flow variables, parameters).

 
Version v0 Version v1

{

    "headers": {

        "Host": "",

        "Content-Type": "application/json; charset=utf-8"

    },

    "body": {

        "RequestId": "63e4874e-6f75-4b70-b6c8-c3cb8bebad8f",

 

        "Id": "9f1f6000-60c5-494b-a911-ecc93656313b",

        "CallChainId": "5abdff94-3363-4e81-8b9d-1d90d6e0333e",

 

        "Event": "AcceptedBySystem",

        "Type": "Incoming",

        "Modality": "Audio",

 

        "CustomerIdentifier": "+41584042840",

        "CallerTelNumber": "+41584042840",

        "MicrosoftCallerId": "+41584042840",

        "IsAnonymous": false,

 

 

        "Created": "2023-12-07T09:40:41.5554626Z",

        "Terminated": "2023-12-07T09:40:42.9044671Z",

 

 

        "TeamId": "e3d815c4-cd71-4786-a348-59283215e23e",

        "TeamName": "Contact Center Bank",

        "ServiceDisplayName": "Contact Center Bank",

        "ServiceUPN": "Contact.Center.bank@lunifico.com",

 

        "CustomContextParameters": {

            "ID11": "",

            "Message": ""

        },

        "PreferredUsers": []

    }

}

 

{

    "headers": {

        "Host": "",

        "Content-Type": "application/json; charset=utf-8"

    },

    "body": {

        "TenantId": "00000000-0000-0000-0000-000000000000",

 

        "TaskId": "9f1f6000-60c5-494b-a911-ecc93656313b",

        "CallChainId": "5abdff94-3363-4e81-8b9d-1d90d6e0333e",

 

        "Event": "SystemAccepted",

        "Direction": "Inbound",

        "Modality": "Audio",

 

        "CustomerIdentifier": "+41584042840",

        "CallerTelNumber": "+41584042840",

        "MicrosoftCallerId": "+41584042840",

        "IsAnonymous": false,

 

 

        "Created": "2023-12-07T09:40:41.5554626Z",

        "Terminated": "2023-12-07T09:40:42.9044671Z",

 

 

        "ServiceId": "e3d815c4-cd71-4786-a348-59283215e23e",

        "ServiceName": "Contact Center Bank",

        "ServiceDisplayName": "Contact Center Bank",

        "ServiceUPN": "Contact.Center.bank@lunifico.com",

 

        "TaskInformation": {

            "Customer": null,

            "CustomContextParameters": [

                {

                    "Name": "ID11",

                    "Value": ""

                },

                {

                    "Name": "Message",

                    "Value": ""

                }

            ],

            "PreferredUsers": []

        }

    }

}

 

Mapping of Trigger Events

Here primarily the naming on Trigger Events has changed.  Note that the naming of “Session” has changed to “Task”, but the Events are technically identical.

Version v0 - Session Events Version v1 - Task Events
Created Workflow Started
AcceptedBySystem System Accepted
Queued In Queue
Connected To User Connected To User
Queue Left Queue Left
Parameter Updated Parameter Updated
Outbound Connected To Destination Destination Reached
A screenshot of a computer
                                                Description automatically generated

A screenshot of a computer
                                                Description automatically generated

More related information on how workflows interact with flow can be found on the Trigger Events page.

 

Working with CustomContextParameters

This chapter describes how your own custom Parameters and System Fields and Parameters are handled. Note that on the V1 connector trigger, the custom context parameters are outputted differently.

Trigger outputs for CustomContextParameters

Note how the values are now stored as an array instead of an object.

Version v0

Version v1

Values can either be null or strings

 

        "CustomContextParameters": {

            "Parameter1": null,

            "Url": "https://www.crm.com/userid=12345",

            "QueuePosition": "3",

            "TicketNumber": "Case-1234",

            "Message": ""

        }

 

Values can either be null or strings

 

 "CustomContextParameters": [

    {

      "Name": "Parameter1",

      "Value": null

    },

    {

      "Name": "Url",

      "Value": "https://www.crm.com/userid=12345"

    },

    {

      "Name": "QueuePosition",

      "Value": "3"

    },

    {

      "Name": "TicketNumber",

      "Value": " Case-1234"

    },

    {

      "Name": "Message",

      "Value": ""

    },

]

 

Store the whole CustomContextParameters container in a variable

The data type and path to retrieve the output body have changed.

Version v0 – Initialize variable Version v1 – Initialize variable

Type=Object

Value= triggerOutputs()?['body/customContextParameters']

 

Type=Array

Value = triggerOutputs()?['body/taskInformation/customContextParameters']

Get a custom context parameter value by name 

With the new approach, the array needs to be filtered first before the value can be extracted from the filtered result.

Version v0 Version v1

Get it directly from within the path

 

Type=String

Value=triggerOutputs()?['body/customContextParameters/TicketNumber']

 

 

 

 

First, filter the array for the parameter to get the value from

 

From = triggerOutputs()?['body/taskInformation/customContextParameters']

Fields:

item()?['Name']    is equal to  “YourParameterName”

To select the value from the filtered array use the expression

first(body('Filter_array'))?['Value']

UpdateTask with a new CustomContextParameter

This is the same in both versions. The only difference is the reference to the Nimbus task which was RequestId in version v0 and now is Task ID in version v1.

Version v0

Version v1

 

 

Add a new value to the CustomContextParameter collection and update the Nimbus task

No major changes to the procedure on storing custom context Parameters values.

Version v0 Version v1

Call the trigger GetOnUpdatedTasks

Store the existing custom context parameter values in variable of type Array

 

The use “Append to array variable” to append new values to the custom context parameters

 

 

When updating the Nimbus Task with Update Task, add the variable as a whole to the field CustomContextParameters

 

Call trigger “When a task changes state”

Store the existing custom context parameter values in variable of type Array

 

 

The use “Append to array variable” to append new values to the custom context parameters

 

 

When updating the Nimbus Task with Update Task, add the variable as a whole to the field CustomContextParameters