Code Monkey home page Code Monkey logo

microsoft-teams-apps-icebreaker's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

microsoft-teams-apps-icebreaker's Issues

How to be cost effective with Icebreaker?

Hello,

I have the app trigger match once every 2 weeks, but each day it charges me more and more which I think can be excessive. Is there a way to save money to avoid it from incurring charge when not being used?

Development Pipeline

What's the recommend development pipeline for working on this app (ideally locally)? Is it best to use the bot emulator? Or deploy directly to a Teams instance and link it to a locally running version using ngrok?

Thanks.

Getting Error while step2 deploying to azure

We're getting error

The current subscription type is not permitted to perform operations on any provider namespace. Please use a different subscription.

Not sure what is the problem, do we need another subscription?

Thanks

ICEBREAKER IS NOT WORKING

Hello,

I installed icebreaker by following the deployment tutorial. I didn't get any errors or issues , however, the user is not the same as the one described in the video. I tested with a guest account and a team member account. I can only see in the team history that icebreaker has been added but I don't get the welcome message , I only see a link to icebreaker.
image
Capture2

Error making matches

Hi,
My icebreaker is setup in a team of 354 with many already opted out.

It fails at exactly the same point due to checking a user.

On the 11th we thought we had a user issue and found an "unknown user" in the team.
Trace
2020-05-11T06:02:31.4883425Z | Made 14 pairups, 28 notifications sent
2020-05-11T06:02:31.4883425Z | Error pairing up team members: Object reference not set to an instance of an object.
Exception
2020-05-11T06:02:31.4883425Z | System.NullReferenceException at Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser | System.NullReferenceException | IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser | System.NullReferenceException | Object reference not set to an instance of an object. | IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser

On the 12th we had the same issue
Trace
2020-05-12T02:20:44.5644509Z | Error pairing up team members: Object reference not set to an instance of an object.
2020-05-12T02:20:44.5801166Z | Made 17 pairups, 34 notifications sent

Exception

2020-05-12T02:20:44.5801166Z System.NullReferenceException at Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser System.NullReferenceException IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser System.NullReferenceException Object reference not set to an instance of an object. IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser

Do we have another user issue? Or how can I prevent this issue happening again?

Feature Request- Companywide scheduled blackout for icebreaker?

We are trying to understand if it would be possible to dedicate a time (10am to 10:30am) for all employees in the company to not have any external meetings.

The goal would be that everyone calendar is blocked during this time, but that the icebreaker app that pairs you up at 10am would automatically schedule the meeting for your meetup at 10am.

this way it helps increase adoption as your calendar is not booked.

any other users asking for something like this or see benefit?

Icebreaker App

Step 1: Register Microsoft Azure AD application

ii Supported account types: Select "Accounts in any organizational directory"

Why does this need to be "Accounts in any organizational directory"? From a security standpoint, this should be set to "Accounts in this organizational directory only".

Are there any implications if I set the Azure AD app registration to "Accounts in this organizational directory only"?

Please advise.

Thank you!

Change the default time for a meetup

We want to change the default time for the meetup which is now 30 minutes. We would like to make shorter meetups (15 min). Is there a way to do it without changing the code but somewhere from Azure? Thanks in advance!

Intermittent missed pairups

A race condition in the token refresh while processing the pairups trigger can cause missed pairups.
The log will show "Error pairing up team members", with error Unauthorized (status code 401).

If failure at app install, no "backfill" to try and remedy

Currently, if an error is thrown on the membersAdded event when the bot is added at app installation BEFORE the team is installed in the database, then that team will not get matches. The app never tries to rectify this. To fix, the user must remove and reinstall the app.

Proposed fix: on another system activity, if that team has not been saved, try to correct the situation by storing that team info with an "Unknown installer".

Force specific time for meetups?

We are curious if it's possible to block off a time each week, say from 10am to 10:30am PST on Mondays that employees keep their schedules clear, then the icebreaker app would automatically match the user and set the meeting vs. the 2 users having to schedule the meeting.

Is this something others have asked about?

Thanks,

Please actually explain how this works!

Morning!

I am trying to get this app for my org - But when I download it and go to the Teams Admin Center - It will not upload - Now if i do this through the Teams App - App Studio it tells me im missing the JSON manifest but when looking at the download i can see it in there - I am not a programmer but rather a Admin who's users want this. Any help would be appreciated!

Thanks,

Justin

Analytics on Matches/Pauses?

Is there a way to report on how many users are pausing matches?

Is there a way to see who is using this tool?

Thanks,
Robert

Bot not working or responding after deployment

Hello,

I followed the instructions from the video and deployment guide to a T and I'm not sure why the bot isn't responding or working. To give some context, I'm a financial analyst trying to create this to help foster bonding in my org (due to extended WFH), so I don't have much of a technical background. Not only does it not respond or run in Teams but also not respond or run in Web Chat when I tested it either. When I tested it through Emulator, I received the below transcript:

image

Can anyone help me understand what is going on and why it's not working like it should? As you can see below, the app is added but the bot isn't showing any messages or features for me to use it:

image

Changing Message

Is it possible to change the wording of the IceBreaker messages that are triggered to teams?

Opt out?

Is there any way to opt out for individuals once this service has been deployed?

No activity after installing app in Teams.

I have a similar issue to #71 , but only when deploying the bot cross-tenant. I have the app registration, users, Teams in tenant A; and the Azure resources in tenant B.

I have modified the logic app trigger to run every hour while testing - it triggers successfully, and the HTTP GET returns with a 200 code which is fine.
The Web App Bot channel to Teams is running and I can see the chat and about tabs for the bot (cannot message the bot directly, but that's expected).
The app service is running and I get the standard page when hitting the URL - https://icebreaker-crosstenant-za6s5exoyjo4i.azurewebsites.net

The only thing that stands out is a CosmosDB 405 and failing to get a key from ServiceRuntime:
image

I have tested this across multiple deployments and regions, same issue whenever I try to deploy the app in this way. I was attempting to replicate an issue that a client is experiencing, which I may raise as a separate issue.

HTTP Error 404.3 - Not Found

HTTP Error 404.3 - Not Found
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

Requested URL https://~1thisismysiteurl:80/Content/fonts/glyphicons-halflings-regular.woff
D:\Program Files (x86)\SiteExtensions\Kudu\84.10807.4030\Content\fonts\glyphicons-halflings-regular.woff

Icebreaker Exchange calendar

Hello,

We just added Icebreaker bot to our Teams and it is a very good and unique feature to meet colleagues you see maybe once or twice per month.

However we have had some issues with it. When we try to "Propose meetup" it will give an error: "Unable to connect to your Exchange calendar at the moment." so here comes my question, should it work with Exchange Cloud only or it should work with On-Premise versions aswell?

All the best,
Kukkurloom.

Matches only happened once

Hi Everyone, We have integrated the Icebreaker bot and deployed it as per instructions with a period of matching of 2 weeks. The first time it matches us well. But then after that no matches went out. I checked the deployment and it still says it is active. So I am trying to figure out why matches are not happening anymore. Does anyone have an idea how i can debug this? Also I was wondering is there a way to change the match interval post deployment?

No conversation window

I've deployed Icebreaker bot according to deployment guideline but there's no conversation window.. Why???

error_icebreaker

Updated Icebreaker app? (called something different)?

I could have sworn I saw an update to the app but am not able to find the link anymore... i thought a few updates were made where in it added a few "icebreaker" things for folks to ask during the meeting/scheduling... did anyone else remember seeing this?

Need help, can't deploy app

Hi there,

I am new to the community, but love the tool.

I'm trying to get this deployed for my org. however I'm stuck :( I've followed all instructions step by step but get hung up when I have to go into teams app studio to design the app... I keep getting this error:

Error while reading manifest.json: "configurableTabs, staticTabs, bots, connectors, or composeExtensions" is required

Can someone please help me? The one part I find challenging is the step by step guide didn't go into detail about what needed to happen in App Studio (i.e. - defining tabs, bots connectors etc)... or I could be missing something.

This is my first time doing something like this and appreciate you pointing me in the right direction.

App Registration Account Types

Why specifically do we need to allow this to be accessed by organizations other than our own? We do not have any other app registrations that allow access from entities outside our organization and we do not allow b2b or b2c over teams.

Icebreaker shows no activity

Hello,
I have deployed the Icebreaker bot in teams. Got the welcome banner after deployment. However when I post message to icebreaker bot it sends message as below
image

When I open the icebreaker bot it shows nothing under activity.
image

Any help is highly appreciated

App uploaded but no activity

Hi, I've upload the icebreaker app to the General channel of a Team but no bot messages or activity at all....

Please add directions on how to change the pairing intervals to wiki (Pull Request not supported for wiki)

@tomorgan wrote this article on how to change the pairing intervals for icebreaker:

https://blog.thoughtstuff.co.uk/2019/07/how-to-adjust-the-pairing-schedule-of-the-icebreaker-bot-teams-app-template/

Please add his directions to the deployment guide in the wiki.

In case you need illustration screenshots without @tomorgan's watermark, i have uploaded three screenshots without watermark for where to go in order to change the interval settings on imgur, use freely:

step 1: https://i.imgur.com/6vrKXIv.png

step 2: https://i.imgur.com/6sAL3QI.png

step 3: https://i.imgur.com/54HYA3A.png

Screenshot_1944
Screenshot_1945
Screenshot_1946

Icebreaker not showing Propose Meetup button

We freshly installed icebreaker in our Azure subscription and loaded the app in Teams. A specific Team is created where Icebreaker as app is included. New users to the team only see the option "Take a tour" and "Pause all matches". The button "propose meetup" is unavailable.

In the logging in Azure I was not able to find any errors which might indicate this behavior. The app in Azure is deployed in an environment where Application Insight is available.

What should be checked next?

Doc1.docx

Tracking number of users who start a chat

Hi, is there a way we are able to track the telemetry on Application Insights for the number of users who click the "Chat with name" or "Propose meetup" option on the Icebreaker card?

After Deployent: The API doesn't work

I've done a new deployment, but after calling the url of the API, I get the message:

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

URL (example): https://icebreaker-xxxxxxxxxx.azurewebsites.net/api/messages
on https://icebreaker-xxxxxxxxxx.azurewebsites.net/ get this response:

Hey, App Service developers!

Your app service is up and running.
Time to take the next step and deploy your code.

Redeploying doesn't help.

Error when deploying Icebreaker

I'm getting this error when trying to deploy icebreaker app.
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"BadRequest","message":"{\r\n "code": "BadRequest",\r\n "message": "Database account icebreaker-storage-ik4e36oz5me72 is not online\r\nActivityId: d8d656fb-a5cc-4b07-aced-943029dbd476, Microsoft.Azure.Documents.Common/2.10.0"\r\n}"}]}

Consider previous matches

Our current icebreaker group is about 50 people, but even with such a large group duplicate / repeat matches are a common occurrence. Would be great if the matching algorithm could consider previous matches to avoid duplicates as far as possible, until most people have met with most others.

Paired Users Question

Hi,

Wondering what method should be used to find out which users have been paired?

We run the Ice Breaker app every two weeks, but we are not sure that everyone is getting notifications.

I'm aware there is custom event called ''ProcessedPairups". When I view this event in Application Insights, I see only 20 people have been paired. This seems a bit low as the Team group we use for the Ice Breaker App consists of approximately 250 users.

image

Any advice would be appreciated. Thanks!

image

Deployment failes on Cosmos DB Account

Last two days I've tried to deploy the Icebreaker app.

I keep getting this error:

{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"Conflict","message":"{\r\n "status": "Failed",\r\n "error": {\r\n "code": "ResourceDeploymentFailure",\r\n "message": "The resource operation completed with terminal provisioning state 'Failed'.",\r\n "details": [\r\n {\r\n "code": "ServiceUnavailable",\r\n "message": "Sorry, we are currently experiencing high demand in this region, and cannot fulfill your request at this time. We work continuously to bring more and more capacity online, and encourage you to try again shortly. Please do not hesitate to contact us via Azure support at any time or for any reason using this link http://aka.ms/azuresupport.\r\nActivityId: c49ceab9-6fed-4c11-a884-5b99d1c073a9, Microsoft.Azure.Documents.Common/2.10.0, Microsoft.Azure.Documents.Common/2.10.0, Microsoft.Azure.Documents.Common/2.10.0, Microsoft.Azure.Documents.Common/2.10.0, Microsoft.Azure.Documents.Common/2.10.0, Microsoft.Azure.Documents.Common/2.10.0, Microsoft.Azure.Documents.Common/2.10.0,

etc etc.

It doesn't matter what region I choose. Is anyone able to deploy this app? Is it something in my subscription?

[Feature Request] Add a way to limit teams the bot can be added to.

For testing / governance purposes, it may be beneficial to have a way to limit the teams the bot can be added too.

Something like having a comma delimited "Test Team" config setting that lists the teams the bot is allowed to be installed on, but causes a rejection message during install attempts from all other teams.

Web deployment task failed.

Trying to publish the changes through visual studio getting below error Error Web deployment task failed. (Connected to the remote computer ("icebreaker-XXXXXX..net") using the Web Management Service, but could not authorize. Make sure that you are using the correct user name and password, that the site you are connecting to exists, and that the credentials represent a user who has permissions to access the site. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_UNAUTHORIZED.) Icebreaker 0

Change Day of The Week?

I did this before... but cannot figure out how to change the day of the week our meeting occurs, can someone please help me?

I want to change our weekly day to Monday at 10am.

Thanks,
Robert

NullReferenceException while sending notification to the users

Hello, I´ve got an Issue using Icebreaker App.

We successfully deployed the bot in an Azure infrastructure and added the bot in a Channel in MS Teams.

Main problem

we have the problem that not every user receives an invitation, because the Bot throws an error during execution.

Logfile from Azure

{
   "parsedStack":[
      {
         "assembly":"IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
         "method":"Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.IsGuestUser",
         "level":0,
         "line":0
      },
      {
         "assembly":"IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
         "method":"Icebreaker.Helpers.AdaptiveCards.PairUpNotificationAdaptiveCard.GetCard",
         "level":1,
         "line":0
      },
      {
         "assembly":"IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
         "method":"Icebreaker.IcebreakerBot+<NotifyPair>d__17.MoveNext",
         "level":2,
         "line":0
      },
      {
         "assembly":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxx",
         "method":"System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess",
         "level":3,
         "line":0
      },
      {
         "assembly":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxx",
         "method":"System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification",
         "level":4,
         "line":0
      },
      {
         "assembly":"mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxxxxxxxxxx",
         "method":"System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd",
         "level":5,
         "line":0
      },
      {
         "assembly":"IceBreaker, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
         "method":"Icebreaker.IcebreakerBot+<MakePairsAndNotify>d__7.MoveNext",
         "level":6,
         "line":0
      }
   ],
   "outerId":"0",
   "message":"Object reference not set to an instance of an object.",
   "type":"System.NullReferenceException",
   "id":"23981744"
}

I guess the problem starts with the pair object. IcebreakerBot.cs

Could it be possible that the nullpointer object came from IcebreakerBot.cs ?

while searching through the code I ended up here PairUpNotificationAdaptiveCard.cs.

I am not sure why a user is a null pointer. I guess this is because one of the user in the channel is missing company mail.
I do not understand how the pair.Item1.Id is connected to the user in Azure AD to find out which Azure AD user is causing the problem.
this...TrackTrace(.... {pair.Item1.Id} ....);

The second problem

The second problem is when the Error is raised the entire loop breaks and only a subset of the matches get notified instead of only the failed one get not notified.
Wouldn't it be better to catch the error in the foreach-block as well so the notification can continue.

foreach (var pair in this.MakePairs(optedInUsers).Take(this.maxPairUpsPerTeam))
    {
        try
            {
                usersNotifiedCount += await this.NotifyPair(connectorClient, team.TenantId, teamName, pair);
                pairsNotifiedCount++;
                .........
    }

very thanks
max

Bad Request on https://icebreaker-6apmwcttcisg4.azurewebsites.net/api/processnow/<key>

<Error> <Message>An error has occurred.</Message> <ExceptionMessage>Bad Request</ExceptionMessage> <ExceptionType> Microsoft.Bot.Connector.MicrosoftAppCredentials+OAuthException </ExceptionType> <StackTrace> at Microsoft.Bot.Connector.MicrosoftAppCredentials.<RefreshTokenAsync>d__34.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Bot.Connector.MicrosoftAppCredentials.<GetTokenAsync>d__27.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Icebreaker.Controllers.ProcessNowController.<Get>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3'1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext() </StackTrace> <InnerException> <Message>An error has occurred.</Message> <ExceptionMessage> Response status code does not indicate success: 400 (Bad Request). </ExceptionMessage> <ExceptionType>System.Net.Http.HttpRequestException</ExceptionType> <StackTrace> at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at Microsoft.Bot.Connector.MicrosoftAppCredentials.<RefreshTokenAsync>d__34.MoveNext() </StackTrace> </InnerException> </Error>

Multiple Bots without redeploying each time

Is it possible to have two different bots deployed into two different channels both matchmaking at different times instead of deploying twice with two different app registration, web apps, cosmo db etc?

TypeError: Cannot read property 'name' of undefined

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.