Use Case - Storing External CRM Data in Custom Parameters

Retrieve customer input, look up data, and store the output in a custom parameter.

Using the Nimbus Power Automate Connector, you can retrieve customer input, look up data (e.g. in an internal CRM) and store the output in a custom parameter. This can be useful in a variety of ways, e.g. to check the output from your CRM and route a call accordingly. 

PRECONDITIONS

  • At least one productive Nimbus team must be in place so you can configure the necessary parts and retrieve team data for this use case.
  • You must be the Nimbus team owner, as you need access to the team's Flow connector retrieve team data with your credentials / access permissions.
  • You need a "Power Automate for Office 365" License on the same team owner account that will create / manage flows for your team.
  • Ensure that the data flow to your CRM / Data storage system is unhindered (sufficient permissions on your user to use a connector, API call, etc.).
 

How-to Steps

🔍 Please note that the steps below are generic examples. You can adjust each step, parameters, external connectors and Power Automate Flows according to your own design.

Create your Custom Parameters

✅ Before we can do anything automated, we need to have our Parameters set up as placeholders for content input and output.

1. Head to Parameters by opening "Configuration" > "Service" > "Parameters".

2. Click on “Create

3. Specify details for your parameter, 

4. Store the parameter either on tenant-wide or service a specific Organization Units (your service). 
 

Notes on tenant-wide parameters

When using your own parameters for routing, consider if you want to share them on tenant-level Organization Unit. While separate call sessions - also accross multiple services - allow usage of the same parameter without data storage "interference", a user with same or higher access permissions (e.g. a Tenant Admin) might unknowingly rename, move delete a parameter.

 

What happens when a "used" parameter is deleted? 

Deleting a parameter will have the following effects

  • Deleted parameters used in the system (e.g. in Power Automate or as part of workflow activities) remain usable and addressable by their name.
  • They are shown with a N/A prefix in the selection.
  • In workflow activities the parameter remains visible and operation until deselected to another parameter. ☝ After deselection the parameter cannot be selected anymore. Related flows might not trigger anymore or not save their values correctly.

→ In order to avoid future issues in your workflows: 

  • Agree on "shared" general parameter naming conventions e.g. "global_routing_input" to be used for external systems or Power Automate Flows.
  • Keep critical parameters on service level OU, so they cannot be removed by other service owners on accident.
  • Make sure to handle all cases (exit nodes) on your workflow activities
  • If no custom parameter is required for your scenario, opt to use default Nimbus system parameters instead, as they are less prone to manipulation and change.
 
 
 
 

5. Repeat the steps for both an input and output (value) parameter. 

💡 Keep their ID in mind for later usage in Microsoft Power Automate flows.

Adapt your workflow

✅ With our in- and output parameters defined it's time to create a workflow that uses these parameters.

  1. Head to Workflows by opening "Configuration" > "Workflows".
  2. Create or adapt an existing workflow to include a "Collect Information" step. 
     

    GOOD TO KNOW WHEN INVOLVING EXTERNAL SYSTEMS
    Ensure to handle both exit nodes, e.g. with an announcement. This is recommended in both activity exit cases because we're using the Microsoft Power Automate Connector to connect to external systems in the next steps.
    The Trigger Events caused by the "Collect Information" activity will start this external flow, which will require some time to process. Since Nimbus has no way of "checking" on that flow's status, time-contingencies or workflow steps to handle "no valid / timeout results" should be considered.
    In case you do not fully trust the output of your CRM, you can perform a → RegEX safety check of your (un)expected Flow output. Add a "Check Parameter" activity after your "Collect Information" to ensure that potentially erroneous outputs are handled. 
     

     
  3. At the end your workflow could look like this: 
  4. ✅ At this point you can continue building your workflow as you need. We will handle the external Flow in the next step.

Create your Flow and Trigger

✅ With your workflow in place it's now time to connect to your own databases and look up the information, then store the output back into the custom Nimbus parameter you created earlier.

  1. Open your Microsoft Power Automate on the same tenant where Nimbus is installed.
  2. Log in with an account that has both access to your Nimbus services and the external system you want to connect to. 💡 For brevity we just refer to this external system as "CRM" from here on out.
  3. Create a new Cloud Flow and start with the Nimbus "GetOnNewTasks" Trigger. 
  4. Configure the trigger to your service and set it to react to the "Parameter UpdatedTrigger Event
     
  5. ✅ Recommended Step: Initialize two variables in your flow and map them to the parameters you created in step 1 above. 
     
    🤔 Why is this necessary? A variable init ensures that the variables (living only inside the Flow) have the right data storage format for your flow output in the later steps.

Parse Data

✅ The next step highly depends on your external system of choice, so we just show some general pointers: 

  1. Chances are that your CRM might not deliver a granular enough output or the format is not fitting for your scenario. We therefore recommend to do some test and data validation runs with your flow to see which kind of output you get so you can grab the values you need: 
     
  2. 🔍 Additional tip: You can use any System Fields and Parameters within your flow to either narrow down the search or "enrich" the results. However, keep in mind that the Power Automate Flow will take longer while your Workflow
  3. Once satisfied with your output, you can store it in output variable.  
     

Return Value

✅ Once the data from your CRM is satisfactory, it's time to return the output back to your Nimbus custom parameter used within your workflow in step 2:

  1. At the end of your Flow, add a "UpdateTask" action
  2. Ensure that "RequestId" is filled in so it's correctly matched to your current call.
  3. Go down to "CustomContextParameters"
    1. Replace the "Name" with the ID value from the parameter in your workflow
    2. Replace the value with the Output from your CRM. 
  4. Save your flow.


🌟 Congratulations, you are now done with the CRM integration.

✅ Make further adjustments to your Nimbus workflow (→ Step 2) to parse the output and route the caller accordingly. 

✅ Ensure to test your flow thoroughly with test calls to account for potential CRM or Power Automate flow delays. 

Table of Contents