Microsoft Tech Community Live:  Microsoft Teams Edition
November 09, 2021, 08:00 AM - 12:00 PM (PST)

Initate a teams call from external application

%3CLINGO-SUB%20id%3D%22lingo-sub-2127870%22%20slang%3D%22en-US%22%3EInitate%20a%20teams%20call%20from%20external%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2127870%22%20slang%3D%22en-US%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20have%20a%20CRM%20system%20written%20in%20WPF%20which%20runs%20on%20the%20same%20computer%20as%20the%20Microsoft%20Teams%20Application.%20I%20would%20like%20to%20implement%20Teams%20calling%20in%20my%20application%20in%20a%20simple%20manner.%20A%20button%20in%20my%20WPF%20application%20which%20when%20pressed%20would%20start%20teams%20dialing%20the%20recipient%20(ultimately%20could%20be%20a%20teams%20to%20teams%20call%20or%20teams%20to%20PSTN%20if%20the%20environment%20has%20been%20set%20up).%20I%20have%20looked%20at%20many%20examples%20but%20am%20still%20stumped%20by%20the%20approach.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20have%20seen%20the%20incidentbot%20on%20github%20but%20this%20requires%20a%20meeting%20to%20be%20setup%2C%20and%20in%20addition%2C%20the%20'bot'%20is%20part%20of%20the%20meeting.%20All%20I%20am%20trying%20to%20do%20is%20do%20a%201-1%20call%20without%20the%20system%20dialing%20me%20and%20the%20recipient%20into%20a%20meeting.%20Effectively%20just%20like%20me%20selecting%20the%20recipient%20in%20teams%20and%20click%20the%20call%20button.%20i.e.%20controlling%20the%20specific%20Teams%20app%20running%20on%20my%20PC.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20am%20trying%20to%20achieve%20the%20following%3A%3C%2FP%3E%3CP%3E-%20I%20would%20like%20to%20make%20the%20call%20from%20my%20application%20via%20(I%20am%20assuming%20the%20graph%20API)%20and%20teams%20responds.%3C%2FP%3E%3CP%3E-%20I%20would%20like%20to%20monitor%20the%20state%20of%20the%20call%20so%20I%20can%20respond%20within%20my%20CRM%20accordingly%20(call%20duration%2C%20when%20the%20call%20is%20disconnected%20etc.).%3C%2FP%3E%3CP%3E-%20I%20would%20also%20like%20to%20monitor%20Teams%20so%20that%20if%20there%20is%20an%20incoming%20call%20I%20can%20notify%20my%20CRM%20and%20appropriately%20respond.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20have%20gone%20through%20the%20various%20github%20repositories%20but%20i%20wanted%20to%20know%20if%20the%20above%20functionality%20is%20available%20simply%20via%20a%20registered%20bot%20and%20all%20call%20initiations%20and%20responses%20on%20status%20of%20the%20call%20can%20be%20handled%20by%20a%20registered%20web%20service%20(nothing%20installed%20in%20the%20Team%20app)%20or%20does%20it%20need%20an%20bot%20within%20the%20teams%20app%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EI%20realize%20this%20is%20quite%20a%20broad%20and%20general%20question%20but%20I%20keep%20going%20round%20in%20circles%20but%20i%20would%20appreciate%20a%20recommended%20approach%20if%20there%20is%20one.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMany%20thanks%20in%20advance.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2127870%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3ECalling%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EDeveloper%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMicrosoft%20Teams%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2146118%22%20slang%3D%22en-US%22%3ERe%3A%20Initate%20a%20teams%20call%20from%20external%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2146118%22%20slang%3D%22en-US%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F964729%22%20target%3D%22_blank%22%3E%40chafford100%3C%2FA%3E%2C%26nbsp%3B%3C%2FP%3E%0A%3CDIV%3ECurrently%20you%20cannot%20monitor%20the%20teams%20call%2C%20You%20can%20get%20the%20call%20details%20by%20using%20Graph%20API%20once%20you%20finish%20the%20call%20call.%20This%20is%20by%20design.%20You%20can%20register%20a%20calling%20bot%20to%20use%20calling%20functionalities.%20Please%20check%20%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fmicrosoftteams%2Fplatform%2Fbots%2Fcalls-and-meetings%2Fregistering-calling-bot%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3EDocs%3C%2FA%3E%26nbsp%3B%20for%20more%20information%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2146438%22%20slang%3D%22en-US%22%3ERe%3A%20Initate%20a%20teams%20call%20from%20external%20application%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2146438%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F954850%22%20target%3D%22_blank%22%3E%40Saonti-MSFT%3C%2FA%3Emany%20thanks%20for%20the%20reply.%20Yes%20I%20thought%20this%20was%20the%20case%20given%20all%20the%20examples%20and%20a%20few%20items%20on%20the%20wish%20list%20(i.e.%20monitoring%20all%20calls%20in%20a%20tenant).%20Just%20a%20final%20point%2C%20is%20there%20any%20way%20of%20not%20having%20the%20'bot'%20appear%3F%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EAll%20my%20work%20at%20the%20moment%20says%20'bot'%20is%20calling%20you%20whereas%20i%20would%20like%20to%20have%20the%20bot%20initiate%20a%20call%20from%20person%20X%20to%20person%20Y.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EMany%20thanks%20for%20the%20reply%2C%20just%20wanted%20to%20make%20sure%20i%20wasn't%20missing%20anything.%3C%2FP%3E%3C%2FLINGO-BODY%3E
New Contributor

Hello,

 

I have a CRM system written in WPF which runs on the same computer as the Microsoft Teams Application. I would like to implement Teams calling in my application in a simple manner. A button in my WPF application which when pressed would start teams dialing the recipient (ultimately could be a teams to teams call or teams to PSTN if the environment has been set up). I have looked at many examples but am still stumped by the approach.

 

I have seen the incidentbot on github but this requires a meeting to be setup, and in addition, the 'bot' is part of the meeting. All I am trying to do is do a 1-1 call without the system dialing me and the recipient into a meeting. Effectively just like me selecting the recipient in teams and click the call button. i.e. controlling the specific Teams app running on my PC.

 

I am trying to achieve the following:

- I would like to make the call from my application via (I am assuming the graph API) and teams responds.

- I would like to monitor the state of the call so I can respond within my CRM accordingly (call duration, when the call is disconnected etc.).

- I would also like to monitor Teams so that if there is an incoming call I can notify my CRM and appropriately respond.

 

I have gone through the various github repositories but i wanted to know if the above functionality is available simply via a registered bot and all call initiations and responses on status of the call can be handled by a registered web service (nothing installed in the Team app) or does it need an bot within the teams app?

 

I realize this is quite a broad and general question but I keep going round in circles but i would appreciate a recommended approach if there is one.

 

Many thanks in advance.

 

3 Replies

Hi @chafford100

Currently you cannot monitor the teams call, You can get the call details by using Graph API once you finish the call call. This is by design. You can register a calling bot to use calling functionalities. Please check Docs  for more information

@Saonti-MSFTmany thanks for the reply. Yes I thought this was the case given all the examples and a few items on the wish list (i.e. monitoring all calls in a tenant). Just a final point, is there any way of not having the 'bot' appear?

 

All my work at the moment says 'bot' is calling you whereas i would like to have the bot initiate a call from person X to person Y.

 

Many thanks for the reply, just wanted to make sure i wasn't missing anything.

@chafford100 If you are trying to implement Bot to make audio calls, Please check these  samples .

Apart from these, currently there is no way to generate a link that will initiate a call between two users. You can raise User Voice . Microsoft will always focus on customer’s feedback and experience, some new features would be added to the services based on customers' feedback in the future.