Microsoft bot framework review process - botframework

I have been trying to publish my Skype bot to Microsoft Bot Directory, it has been almost two weeks and it is still in review.
My questions are:
Do they have a list of must haves for the bot so that they can only accept it if it fulfills these requirements? They didn't reject mine either but I will be prepared in advance in case they do.
If yes where can I find this info?
Has anyone here submitted their bot and how long did it take for them to be published?
Thank you

I submitted a few months ago and it is still not approved.
The bot directory is very selective and they won't approve you unless it's a full fledged mature application.
Plus, they also claim that their reviewing resources are very limited.
I'd say don't expect to get approved.
And no, they don't have any kind of requirements.

Here are a few items that might help with guidance:
MICROSOFT BOT FRAMEWORK– PREVIEW ONLINE SERVICES AGREEMENT
Bot review guidelines
Developer Code of Conduct for the Microsoft Bot Framework
It takes a few days (maybe a little longer) to get a response from a review. A couple items that caught me off guard were their logo requirements, which are very precise, and the welcome/help message needs to be complete. You also need to specify your Terms of Use and Privacy Policy well. Looking at these documents, there are probably several more items that are likely to trip-up submission.

Related

Can I get calendar meetings out of MS Teams?

I want to find if you can programmatically get calendar information out of MS Teams.
I was searching but didn't find any information, as with any documentation related to Microsoft you can't find anything useful.
So What I need any of:
some kind of WebHook, maybe that will run my script when new even is added to my calendar.
MS Teams call my script the meeting.
API that will allow exporting events from the calendar, so I can use a cron job to sync with the app I plan to create.
Basically, I was thinking about this tool ntfy. But I don't want to use MS Teams app for my phone if there is one, because I would like to have an app that will integrate with MS teams and Google Calendar. That I have to use at work. I'm a contractor for a software company that has a client that I'm working for. I need to use MS teams for a software company and Google Calendar for the client. Also, I can't log in with my work Google account, because it's blocked for the security of google drive (this at least was the error message). So my own Android app is the only way to have notifications on my phone (I need it because I sometimes forget about the meetings).
How I should create something like this? I only need general advice about integration with MS Teams. What API should I use? Will ask about Google Calendar in another question.
Note that I have zero knowledge about MS Teams, was searching for some developer documentation but was not able to find anything that can be useful for the thing I need.
I don't have any code yet, I'm investigating possibilities.
You could use so-called "graph api", the api Microsoft promotes to interact with anything related to Microsoft, including teams. There is simply a method to get all events for a team (i.e. group):
https://learn.microsoft.com/en-us/graph/api/calendar-list-events
There is an online sandbox you could use to play with it:
https://developer.microsoft.com/en-us/graph/graph-explorer

How can I (as the app developer) get notified when a user leaves a review of my app on Google Workspace Marketplace?

We've just published our first app in Google Workspace Marketplace (a google docs add-on) and can't figure out how, or if, it is possible to setup an email or other notification (slack notification would be cool) for our Customer Success team to be notified when a user leaves a review of the app.
Appreciate that if we get thousands we will probably turn the notifications off (or filter them in some way), at this early stage though, we're very eager to act on any feedback.
Thanks!
Disclaimer: I am creator of Obsei, and this might be biased answer.
You can try Obsei: an open-source low-code AI powered automation tool.
It can monitor App and Play stores for customer reviews and send notification Slack when someone add review there. Also Obsei can classify review contextually to classify it into issue categories. Refer below image.Obsei workflow
All of these can be achieved free without any cloud hosting requirement. Refer link for more detail.
Happy to answer any queries in this regards.

How to integrate into the teams meeting experience

Apart from an article from the verge announcing the capability, I can't find any developer documentation related to this functionality (tab/other interactive panel inside "the meeting experience").
Unless I'm looking in the wrong place, of course...
Has anyone been able to/found resources for integrating into the teams meeting experience?
Article: https://www.theverge.com/2020/7/21/21332414/microsoft-teams-third-party-apps-calls-meetings-integration-features
You can add app to the meeting, The meeting app can deliver a user experience for each stage of the meeting lifecycle including pre-meeting, in-meeting and post-meeting app experience, depending on the attendee's status.Please check this docs for more info.

Sharing same conversation with multiple bots

Question: How to have multiple bots supplying answers to the same Teams chat window a user has with an aggregator bot.
Description:
Several different teams have created bots that can answer questions related to their areas. Picture a services bot, a catalog bot, etc. All of these bots are maintained by their individual area owners, have their own sets of LUIS intents, etc. That works great, but you have to know where to look for each type of question.
Now we'd like to have a single bot for anyone to connect to, to get their questions answered no matter what area the question falls into. The idea is that this aggregator bot would then forward the questions to the appropriate area bot, which would then provide the answer. The scenario here is that someone troubleshooting an issue could ask questions crossing multiple areas in the same place without having to know about each individual area's bot.
The bots are currently hosted in Teams and are C#. So far, our solution has this flow:
Aggregator bot receives the question and asks each bot (through another endpoint specific to this flow) how confident it is that it can answer the question.
Aggregator bot decides which bot(s) to ask the question to, and sends the question off to the regular /api/messages endpoint for the bot.
[Broken] Area bot posts the answer/ auth prompt if needed/ or the start of a conversation to clarify the eventual answer.
We found the bot-to-bot handoff project, but in the readme.MD, it says:
Note: The main bot and each of the sub-bots share the same AppID and
AppPassword. This allows all the bots to share the same conversation
ID, Dialog
Stack,
and Bot State
Data.
This is not possible in Azure, because you can't create multiple bots with the same AppId.
Trying a hack based on that, we found that if we change the bot configuration to use the same MicrosoftAppId and MicrosoftAppPassword in the Application Settings in Azure for all the bots, then everything works fine through the aggregator bot. At that point, you can no longer connect directly to the individual bots anymore. While that is clearly a hack and not a solution, it implies that the problem is authentication based and not something that is implicitly impossible.
There are lots of pieces around that seem like they might help, but we haven't found the documentation to fit them together. This seems like something that should be a common scenario. Ideally we could specify some kind of bot trust at a higher level and not have to specify AppId and AppPassword directly, though we're willing to do that in this case since we're all the same company.
Things we've tried:
Using TrustServiceUrl to trust the aggregator bot from each area
bot, and all the area bots from the aggregator bot. The call was
made in Application_Start in Global.asax for each bot.
The hack described above
Specifying AppId and AppPassword in the BotAuthentication attribute
Number 3 actually solved the auth problem for letting the aggregator bot ask each bot for it's confidence in answering the question when we used it to tag those functions. Specifying the AppId and AppPassword for the aggregator bot in the specification for that endpoint in the individual area bots worked great. But it didn't fix the ability for the individual area bot to post back to the conversation owned by the aggregator bot. In that case, the aggregator bot itself is consuming the answer, and it is an answer and not a flow.
What do we try from here? Is there something we've missed, or is there something fundamentally wrong with the approach we've started with?

One app have was removed from play store. How many before my account is terminated?

Recently, I have received a message from Google Play Developer saying that one app was removed:
This app has been removed from Google Play for a violation of the
Google Play Developer Program Policy regarding Ad Walls and
Interstitial Ads. For additional information, please review the
interstitial ads help article, then correct your app's ads and
resubmit. Additional details have been sent to your account owner's
email address.
So I've heard that if I get 3 strikes like this one, my account will be terminated. Is that true?
Also, I am only using Admob ads.
Google's policy here states that
Removals
Don’t impact the standing of your Google Play Developer account.
Once your app is removed, the published version of your app won’t be available on Google Play until a compliant updated is submitted.
The message you quoted says that your app was removed, so you don't have much to worry. You just have to be more careful about following the Ads guidelines. They don't want you to keep publishing many apps that don't follow the rules.
Also, they don't define exactly how many Suspensions you can have:
Suspensions
Count as strikes against the good standing of your Google Play Developer account.
Egregious or multiple policy violations can result in suspension, as can repeated app rejections or removals.
But 3, as you mentioned, seems a fair number in a short period. Remeber: your apps won't be suspended for nothing, so take care to follow correctly the instructions.
It says right there that "Additional details have been sent to your account owner's email address". So that would be the place to look to get the specifics.
There are a variety of reasons that your app may have been reported. For instance, you should probably let people know that there are ads at all. Is your app rated as "kid friendly" but the ads are not?
I'm going to guess that it has something to do with placement. For instance, if people are clicking your ad accidentally because it's too close to another actionable item, that will get you in trouble.
It could also be because someone is clicking the ad repeatedly, during testing, or to be a joker. And it's raising a flag.
You really need to do your own research to find out what the problem is.
Once you've done with that, correct the problem and try again.

Resources