Consider, we are a property management company. We have the following Use Cases:
When a NEW Customer calls,
- ... the new contact needs to be created in HubSpot
 - ... any Agent can respond to the call
 - ... the Agent needs to complete the contact form of the Customer
 
When a KNOWN Customer calls,
- ... and the Customer has a property viewing booked, they wants to speak to the person they will meet at the property.
 - ... and the Customer has no active tasks in the CRM, any agency Agent can respond.
 - ... the CRM contact page of the Customer needs to pop-up when the call gets distributed to the Agent.
 
PRECONDITIONS
- Nimbus Power Automate Connector preconditions must be met (Licensing, User Role).
 - You require service owner rights to create the flow.
 - Ensure to set-up the following caller identification power automate flow: Use Case - Looking up caller information in HubSpot. This flow can run in parallel and ensures that your caller information is readily at hand.
- Note: You can create a developer instance for HubSpot on HubSpot Developer Site.
 
 
💡 For visualization we use HubSpot as example CRM. You can of course substitute this lookup with any other CRM of your own preference.
INC Icon Legend Accordion
Show Icon Legend
| 💡 = A hint to signal learnings, improvements or useful information in context. | 🔍 = Info points out essential notes or related page in context. | 
| ☝ = Notifies you about fallacies and tricky parts that help avoid problems. | 🤔 = Asks and answers common questions and troubleshooting points. | 
| ❌ = Warns you of actions with irreversible / data-destructive consequence. | ✅ = Intructs you to perform a certain (prerequired) action to complete a related step. | 
Build the caller identification power automate flow
Build the flow as described in Use Case - Looking up caller information in HubSpot
Extend the Nimbus configuration
First, we need to create two new Parameters in Nimbus:
- 
Parameter 1: Name= PreferredAgent; Value=
Empty - 
Parameter 2: Name= hasbookings; Value=
false 
Then we change the existing workflow to the following:
Workflow Overview

Description  | 
Screenshot | 
|---|---|
| 
 The "Check Parameter" activity verifies if the Customer has an active property viewing booked in the CRM using the hasBookings parameter that will be set by the power Automate flow. 
  | 
 
 
  | 
| 
 The "Transfer" activity will transfer to the preferred Agent if the Customer has an active property viewing booked in the CRM: 
  | 
![]()  | 
Prepare the adaptive cards
The following table summarizes the scenarios and the different Adaptive Cards to send.
| Call | Scenario | Workflow Activity | Adaptive Card | 
|---|---|---|---|
| 
 Incoming call new Customer  | 
 A new Customer calls. 
  | 
 Queue call 
  | 
We want the contact to be created automatically and send an Adaptive Card to the teams channel of the service with the following content: ![]() 
  | 
Show Json of this Card | |||
| 
 Incoming call known Customer  | 
 A known Customer calls 
  | 
 Transfer to the Agent from the booking in HubSpot. 
  | 
We want to inform the team and send an adaptive card to the teams channel of the service with the following content: ![]() 
  | 
Show Json of this Card | |||
| 
 Incoming call known Customer  | 
 The Customer has no active tasks in the CRM, any agency Agent can respond 
  | 
 Queue call 
  | 
![]() 
  | 
Show Json of this Card | |||
Extend the Power Automate flow
Here is an overview of the whole flow

Add two more Initialize variable steps after the Initialize variable 2 step:
- In the editing area click 
 to add a new action. - Search for "initialize variable" and select “Initialize variable” under the “Variable” section.
 - Rename the new action to Initialize variable 3.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Name | HasBooking | ![]()  | 
| Type | String | |
| Value | false | |
- In the editing area click 
 to add a new action. 
- Search for "initialize variable" and select “Initialize variable” under the “Variable” section.
 - Rename the new action to Initialize variable 4.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Name | AdaptiveCardJSON | ![]()  | 
| Type | String | |
| Value | leave it empty | |
Add a Condition step after the Compose step:
- In the editing area click 
 to add a new action. - Search for "Condition" and select “Condition” under the “Control” section.
 - Rename the new action to Check if Contact is known in HubSpot.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Expression | 
  | 
![]()  | 
Add a Post card in a chat or channel step after the Condition:
- In the editing area click 
 to add a new action. - Search for "Microsoft Teams" and select “Post card in a chat or channel” under the “Microsoft Teams” section.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Post As | Flow bot | ![]()  | 
| Post In | Channel | |
| Team | Select the team in which you want to post the Adaptive Card | |
| Channel | Select the channel within the Team in which you want to post the Adaptive Card | |
| Adaptive Card | @{variables('AdaptiveCardJSON')} | 
|
Branch: Contact check in HubSpot
✅ Now we need to check the if the contact is known in HubSpot. Both cases are explored in the IF-branches below.
IF NO branch
FALSE - No Contact found
Overview of the branch

- In the editing area click 
 to add a new action. - Search for "HTTP" and select “HTTP” under the “HTTP” section.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | ||||||
|---|---|---|---|---|---|---|---|
| URI | https://api.hubapi.com/contacts/v1/contact | ![]()  | 
|||||
| Method | POST | ||||||
| Headers | 
 Enter the following key/value pair: 
  | 
||||||
| Body | 
 Paste the following code into the body: 
 | 
||||||
- In the editing area click 
 to add a new action. 
- Search for "variable" and select “Set variable” under the “Variable” section.
 - Rename the new action to Set adaptive card content.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Name | AdaptiveCardJSON | ![]()  | 
| Value | Paste the first JSON content from the Prepare the adaptive cards section | |
IF YES branch
TRUE - Contact is found
Overview of the branch

- In the editing area click 
 to add a new action. - Search for "HTTP" and select “HTTP” under the “HTTP” section.
 - Rename the new action to Task Search.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | ||||||
|---|---|---|---|---|---|---|---|
| URI | https://api.hubapi.com/crm/v3/objects/contacts/search | ![]()  | 
|||||
| Method | POST | ||||||
| Headers | 
 Enter the following key/value pair: 
  | 
||||||
| Body | 
 Paste the following code into the body: 
 | 
||||||
- In the editing area click 
 to add a new action. 
- Search for "Data operation compose" and select “Compose” under the “Data operation” section.
 - Rename the new action to Bookings.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Inputs |  | 
![]()  | 
Add a Condition step after the Compose step:
- In the editing area click 
 to add a new action. 
- Search for "Condition" and select “Condition” under the “Control” section.
 - Rename the new action to Check if Customer has bookings.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Expression | 
  | 
![]()  | 
- Move your existing Update task step after the Check if Customer has bookings condition as can see it under Overview of the branch.
 
Branch: Booking check in HubSpot
✅ Now we need to check the if the retrieved actually has a booking. Both cases are explored in the IF-branches below.
IF NO branch
FALSE - Customer has no booking
Click here to expand...

- In the editing area click 
 to add a new action. 
- Search for "variable" and select “Set variable” under the “Variable” section.
 - Rename the new action to Set adaptive card content 2.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Name | AdaptiveCardJSON | ![]()  | 
| Value | Paste the third JSON content from the Prepare the adaptive cards section | |
IF YES branch
TRUE - Customer has booking
Click here to expand…

- In the editing area click 
 to add a new action. 
- Search for "variable" and select “Set variable” under the “Variable” section.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Name | HasBooking | ![]()  | 
| Value | true | |
- In the editing area click 
 to add a new action. 
- Search for "HTTP" and select “HTTP” under the “HTTP” section.
 - Rename the new action to Task Search.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | ||||||
|---|---|---|---|---|---|---|---|
| URI | https://api.HubSpot.com/crm/v3/owners/@{body('Task_Search' )?[ 'results' ][0][ 'properties' ][ 'HubSpot_owner_id' ]} | ![]()  | 
|||||
| Method | GET | ||||||
| Headers | 
 Enter the following key/value pair: 
  | 
||||||
- In the editing area click 
 to add a new action. 
- Search for "variable" and select “Set variable” under the “Variable” section.
 - Rename the new action to Set adaptive card content 3.
 - Configure the action as follows:
 
| Field | Value to fill in / 🌟 = Nimbus dynamic content | |
|---|---|---|
| Name | AdaptiveCardJSON | ![]()  | 
| Value | Paste the second JSON content from the Prepare the adaptive cards section | |

















