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 |