Skip to main content
All CollectionsIntegrations
Integrating Favro Outgoing Webhook with Microsoft Power Automate and Microsoft Teams
Integrating Favro Outgoing Webhook with Microsoft Power Automate and Microsoft Teams

Instructions on how to setup Microsoft Power Automate with Favro Webhooks.

Dovidas Baranauskas avatar
Written by Dovidas Baranauskas
Updated over 5 months ago

Configuration steps

1. In Power Automate, navigate to the + Create tab > Automated cloud flow > Skip.

2. Blank automation canvas will now be visible. Click Add a trigger > Type request in the search bar > Request connector > Click When an HTTP request is received.

3. Now, we will configure the HTTP listener. Set configuration as following:

a) Who can Trigger The Flow? -> Anyone

b) Request Body JSON Schema ->

{

"type": "object",

"properties": {

"action": {

"type": "string"

},

"sender": {

"type": "object",

"properties": {

"name": {

"type": "string"

}

}

},

"card": {

"type": "object",

"properties": {

"widgetCommonId": {

"type": "string"

},

"sequentialId": {

"type": "number"

},

"name": {

"type": "string"

},

"organizationId": {

"type": "string"

}

}

}

},

"widget": {

"type": "object",

"properties": {

"organizationId": {

"type": "string"

},

"name": {

"type": "string"

}

}

},

"comment": {

"comment": "string"

}

}

c) Advanced parameters > Method -> POST

The end results should look like this:

4. Next, we will add an action to send a message to our Microsoft Teams channel.

5. Set the configuration as following:

a) Post As -> Flow bot

b) Post in -> Channel

c) Team -> Pick your team from the list

d) Channel -> Pick the channel

(Important): You must have an active connection to at least one Microsoft Teams account. The status of your connection can be seen at the bottom of the configuration page (e.)

6. Next we will configure the message:

a) After clicking on the Message window, we will see a thunder icon. Click on the icon to add dynamic variables.

Click (user.)name from the dropdown list.

(Note): Available Dynamic Content fields appear in the same order they have been defined in the Request Body JSON Schema earlier (step 3 b) )

Now add the following text behind the variable: made changes to a card in Favro. The final result should look like this:

b) In the next line, add the following text: Card: followed with a dynamic variable (card.)name.

c) In the line below, we will add two functions.

  • The first function will show us the board name, if there is one:

    if(equals(triggerBody()?['widget']?['name'], null),'', concat('Board: ', triggerBody()?['widget']?['name']))
  • The second function will show us the latest comment, if a comment action triggered the notification:

    if(equals(triggerBody()?['comment'], null),'', concat('Comment: ', triggerBody()?['comment']?['comment']))

d) Two lines below the functions line, we will add the card URL. Link:

https://favro.com/organization/{card.organizationId}/{card.widgetCommonId}?card={cardPrefix}-{card.sequentialId }
  • card.organizationId, card.widgetCommonId and card.sequentialId can all be selected from the dynamic content dropdown.

  • cardPrefix has to be defined manually. You may find it in the top left corner of any card in Favro.

The final result should look like this:

7. In Favro, navigate to the collection and board you want to get update notifications for in Microsoft Teams. Then click on board settings (...) > More > Integration and API…

8. In the API and webhooks, click Configure new webhook and define the parameters:

a) Webhook name -> Microsoft Teams

b) URL to post notifications to -> Copy/Paste the HTTP URL from the HTTP Request trigger we defined earlier in Power Automate

c) Secret key -> supersecretkeyword

9. The final result should look similar to the screenshot below. Next, click on Connect.

10. If the connection was successful, additional options will appear. Pick events you wish to receive notifications for.

11. Triggering selected events in Favro will now send a message to Microsoft Teams.


Adding additional fields to Microsoft Teams notifications.

Microsoft Teams notifications can use information defined in the Request Body JSON Schema of the HTTP Request listener. It is possible to expand the available fields by modifying the schema. To do so:

1. Navigate to the webhook configuration page (board settings (...) > More > Integration and API…)

2. Each time a select event is triggered and Microsoft Teams notification is sent, Favro will log the HTTP request sent and response received. Click View details for the event you want to take data from.

(Note): data sent will vary between events types.

3. Now we have two options:

a) Manually replicate the JSON structure from Favro event details to Power Automate HTTP listener Request Body JSON Schema.

b) Copy/Paste the whole Request payload JSON object from Favro event details to Power Automate > HTTP Request listener > Request Body JSON Schema > Use sample payload to generate schema.

(Important):

  1. The JSON schema in Favro Request payload uses the following format key: “value” whereas Power Automate HTTP listener expects the format to be “key”: “value”. As a result, using sample payload to generate the schema will fail by default. Use any text editor to adjust the payload obtained from Favro accordingly.

  2. When working with keys in Microsoft Teams, they will appear in the same order they have been listed in schema. Meaning, if there are duplicate fields (e.g. user.name and card.name), the first one defined in schema will be the first one on the list of Dynamic content fields.

  3. When using the ‘Use sample payload to generate schema’ feature in Power Automate, numeric values will be assigned “type”: “integer”. In some instances, this might cause issues. To fix it, change “integer” to “number”.

Did this answer your question?