stuartridout / teamlink

TeamLink is a free Microsoft Teams Power App using Dataverse for Teams. It is a space where your team can share there whereabouts for the week ahead directly in Microsoft Teams. Users can select who they want to 'follow' and see the upcoming presences of or can view by site to see who is planning to be on site on that day. TeamLink allows you then to message to see if the person wants to meet up for a coffee ... all from the click of a button!
MIT License
50 stars 2 forks source link

Fails to send Teams message when no Watch Sites have been selected #9

Closed tdashworth closed 2 years ago

tdashworth commented 2 years ago

Hi,

I've recently installed the latest version (20220203, v1.15) and it's come to the end of the week for the Flow bot to get everyone's update.

I've noticed two issues:

  1. When the user doesn't have any Watch Sites, and the Flow trys to get all Sites for a given location, it fails due to the wrong dynamic content. I have fixed this but wanted to contribute back. image Was: _cr599_country_value eq '@{triggerBody()['locale']}' Should be: _cr599_country_value eq '@{triggerBody()['text_1']}'

  2. These messages are sent out in sequence (so I won't get asked until the person before does). I see two solutions for this:

    1. Delete the final "Return to PowerApps" step in the child Flow.
    2. Change the For Each concurrency to 20 (the highest) to send more at once.

    I would recommend both unless there was a reason for these decisions? For now, I have only deleted the return step so we'll see how it goes.

😄

stuartridout commented 2 years ago

Hi Tom, thanks for the feedback. It is really appreciated.

  1. You are correct that the locale wasn't working. I'm not sure what the text_1 variable is that is being passed there but I have corrected it in the latest version which has been uploaded to the repository.

  2. (i) With regards to the "Return to PowerApps" step, that is required otherwise the parent flow will fail. I have moved this to the start of the child flow so it returns immediately and can move on.

  3. (ii) There is a reason why that concurrency is not in place and that is because it will cause throttling problems with the send limits. We found that a 10 second delay between each card send keeps us under those limits.

tdashworth commented 2 years ago

Many thanks @stuartridout!