[{"data":1,"prerenderedAt":596},["ShallowReactive",2],{"docs:en:\u002Fdocs\u002Fagents\u002Fteams":3},{"page":4,"navigation":472,"surround":591,"prefix":475},{"id":5,"title":6,"body":7,"description":464,"extension":465,"meta":466,"navigation":467,"path":468,"seo":469,"stem":470,"__hash__":471},"agentDocs\u002Fdocs\u002F3.agents\u002F5.teams.md","Microsoft Teams",{"type":8,"value":9,"toc":452},"minimark",[10,14,34,39,79,83,156,159,163,188,191,195,206,216,220,244,250,253,260,268,272,356,360,366,426,429,432,436,443],[11,12,13],"p",{},"A Teams bot links an agent to a bot from your Teams Developer Portal. The people in your organisation then write to the agent directly in Microsoft Teams, in a 1:1 chat.",[15,16,17],"note",{},[11,18,19,20,23,24,27,28,33],{},"The service ",[21,22,6],"strong",{}," in the tab ",[21,25,26],{},"Services"," is something else, see ",[29,30,32],"a",{"href":31},"\u002Fdocs\u002Fconnections\u002Fservices","Connecting services",". Through it, an agent or workflow reads and sends Teams messages with your account, and a workflow can start on a new message.",[35,36,38],"h2",{"id":37},"requirements","Requirements",[40,41,42,46,49,52,64],"ul",{},[43,44,45],"li",{},"A bot from the Teams Developer Portal. You do not need an Azure subscription.",[43,47,48],{},"An account that may create apps in the Microsoft tenant. The tenant is your organisation's Microsoft environment.",[43,50,51],{},"Someone who may upload custom apps in Teams.",[43,53,54,55,58,59,63],{},"An agent set to ",[21,56,57],{},"Workspace"," and without restricted access, see ",[29,60,62],{"href":61},"\u002Fdocs\u002Fagents\u002Fsharing","Sharing and access",". If a price offer for the agent is still open, it cannot be linked.",[43,65,66,67,70,71,74,75,78],{},"The right to build (the role ",[21,68,69],{},"admin",", or the former role ",[21,72,73],{},"developer","). Only someone who may build sees the tab ",[21,76,77],{},"Teams bots",". On a phone the tab is missing.",[35,80,82],{"id":81},"link-a-bot","Link a bot",[84,85,86,96,106,112,118,125,132,138,149,152],"ol",{},[43,87,88,89,92,93,95],{},"Open ",[21,90,91],{},"Connections"," via the user menu, and there the tab ",[21,94,77],{},".",[43,97,98,99,102,103,95],{},"Click ",[21,100,101],{},"Link agent to Teams",". If a bot already exists, the button is called ",[21,104,105],{},"Connect",[43,107,108,109,95],{},"In the Teams Developer Portal, create a bot with ",[21,110,111],{},"+ New Bot",[43,113,114,115,95],{},"In the dialog, enter its app ID in the field ",[21,116,117],{},"App ID of the bot",[43,119,120,121,124],{},"In the portal, enter the address the dialog then shows under ",[21,122,123],{},"Configure"," as the endpoint.",[43,126,127,128,131],{},"In the portal, create a secret under ",[21,129,130],{},"Client secrets",". The portal shows the value only once.",[43,133,134,135,95],{},"Enter the secret in the field ",[21,136,137],{},"Secret",[43,139,140,141,144,145,148],{},"Enter the ",[21,142,143],{},"Tenant ID",". lowcloud looks it up through your ",[21,146,147],{},"Mail domain",", and you can also enter it directly.",[43,150,151],{},"Choose the agent that should answer in Teams.",[43,153,98,154,95],{},[21,155,105],{},[11,157,158],{},"lowcloud checks the credentials with Microsoft and saves only after that. The secret is stored encrypted. An app ID can be linked only once.",[35,160,162],{"id":161},"upload-the-app-to-teams","Upload the app to Teams",[84,164,165,172],{},[43,166,167,168,171],{},"On the card of the bot, click ",[21,169,170],{},"Download package",". The app package is downloaded.",[43,173,174,175,178,179,178,182,178,185,95],{},"Upload the package in Teams: ",[21,176,177],{},"Apps"," > ",[21,180,181],{},"Manage your apps",[21,183,184],{},"Upload an app",[21,186,187],{},"Upload a custom app",[11,189,190],{},"If the button in Teams is locked, your IT uploads the file in the Teams Admin Center.",[35,192,194],{"id":193},"write-to-the-agent-in-teams","Write to the agent in Teams",[11,196,197,198,201,202,205],{},"After the upload, everyone in the tenant can write to the agent. As soon as the first message has arrived, the card of the bot shows the links ",[21,199,200],{},"Install for colleagues"," and ",[21,203,204],{},"Open chat in Teams",". Whoever installs the app gets a greeting with the name and description of the agent and up to three conversation starters.",[11,207,208,209,178,212,215],{},"The bot answers only in the tenant you entered. Your Teams administrator limits the app to individual people or security groups in the Teams Admin Center, under ",[21,210,211],{},"Manage apps",[21,213,214],{},"Available to",". lowcloud keeps no list of its own for this.",[35,217,219],{"id":218},"change-or-remove-a-bot","Change or remove a bot",[40,221,222,228,238],{},[43,223,224,227],{},[21,225,226],{},"Test",": checks whether Microsoft still issues a token for the stored credentials.",[43,229,230,231,234,235,95],{},"Pencil icon: opens ",[21,232,233],{},"Edit Teams bot",". There you choose another agent or enter a new secret under ",[21,236,237],{},"New secret",[43,239,240,243],{},[21,241,242],{},"Disconnect",": removes the bot. It no longer answers in Teams afterwards. The app stays installed in Teams until someone removes it there.",[245,246,247],"warning",{},[11,248,249],{},"If you change the agent or disconnect the bot, the stored conversations of this bot are deleted.",[11,251,252],{},"If you change the name, description or logo, download a new package and update the app in Teams with it.",[11,254,255,256,259],{},"If you set the agent to ",[21,257,258],{},"Private",", restrict its access or delete it, the bot stays linked. It then only answers in Teams that it is not assigned to any agent.",[15,261,262],{},[11,263,264,265,95],{},"The person who linked the bot must still be allowed to build in the workspace. Otherwise the bot no longer answers, and the card of the bot names the reason under ",[21,266,267],{},"No answer sent",[35,269,271],{"id":270},"features-in-teams","Features in Teams",[273,274,275,288],"table",{},[276,277,278],"thead",{},[279,280,281,285],"tr",{},[282,283,284],"th",{},"Topic",[282,286,287],{},"In Teams",[289,290,291,300,308,320,332,340,348],"tbody",{},[279,292,293,297],{},[294,295,296],"td",{},"Place",[294,298,299],{},"Only the 1:1 chat with the bot. It does not answer in group chats and channels.",[279,301,302,305],{},[294,303,304],{},"Input",[294,306,307],{},"Text only. The agent does not read files and images. To a message without text it answers that it can only read text.",[279,309,310,313],{},[294,311,312],{},"Knowledge",[294,314,315,316,319],{},"The documents of the agent and the buckets it may read. The global knowledge is added if ",[21,317,318],{},"Use knowledge"," is on.",[279,321,322,325],{},[294,323,324],{},"Skills",[294,326,327,328,331],{},"Only the attached skills. ",[21,329,330],{},"Use all skills"," does not apply in Teams.",[279,333,334,337],{},[294,335,336],{},"Model",[294,338,339],{},"The model the agent has pinned, otherwise the default model of the workspace. There is no model selection in Teams.",[279,341,342,345],{},[294,343,344],{},"History",[294,346,347],{},"One person has exactly one conversation with a bot. The agent gets the most recent messages, up to 60,000 characters.",[279,349,350,353],{},[294,351,352],{},"Not available",[294,354,355],{},"Custom integrations, MCP tools and subagents.",[35,357,359],{"id":358},"tools-approvals-and-costs","Tools, approvals and costs",[11,361,362,363,365],{},"What the agent may do in Teams depends on whether the person is matched. A person is matched if they are a member of the workspace and have connected there, under ",[21,364,91],{},", the Microsoft account they are signed in to Teams with. If two members have connected the same account, nobody is matched.",[273,367,368,380],{},[276,369,370],{},[279,371,372,374,377],{},[282,373],{},[282,375,376],{},"Not matched",[282,378,379],{},"Matched",[289,381,382,393,411],{},[279,383,384,387,390],{},[294,385,386],{},"Tools",[294,388,389],{},"Only reading tools that need no connected account, for example the web search.",[294,391,392],{},"In addition, the tools of the agent on the connected accounts of this person.",[279,394,395,398,401],{},[294,396,397],{},"Writing",[294,399,400],{},"Not possible. The agent saves, sends and changes nothing.",[294,402,403,404,201,407,410],{},"Every writing action waits on a card with ",[21,405,406],{},"Approve",[21,408,409],{},"Reject",", even if the approval is switched off on the agent.",[279,412,413,416,419],{},[294,414,415],{},"Costs",[294,417,418],{},"Booked to the person who linked the bot.",[294,420,421,422,425],{},"Booked to the person who writes. Their ",[21,423,424],{},"Monthly limit"," applies.",[11,427,428],{},"A card stays open for 24 hours. A new message in the same chat replaces it. Only the person who asked can approve.",[11,430,431],{},"Every answer uses credit of the workspace. If the credit or a monthly limit is used up, the agent says so in Teams.",[35,433,435],{"id":434},"data-processing","Data processing",[11,437,438,439,95],{},"Messages in Teams run through Microsoft's Bot Framework. Microsoft does not guarantee processing exclusively in the EU for it. Where the models compute is described under ",[29,440,442],{"href":441},"\u002Fdocs\u002Fsovereignty","Sovereignty and models",[11,444,445,446,449,450,95],{},"lowcloud stores the history of every Teams chat. An admin can open it in the ",[21,447,448],{},"Overview"," of the agent under ",[21,451,344],{},{"title":453,"searchDepth":454,"depth":454,"links":455},"",2,[456,457,458,459,460,461,462,463],{"id":37,"depth":454,"text":38},{"id":81,"depth":454,"text":82},{"id":161,"depth":454,"text":162},{"id":193,"depth":454,"text":194},{"id":218,"depth":454,"text":219},{"id":270,"depth":454,"text":271},{"id":358,"depth":454,"text":359},{"id":434,"depth":454,"text":435},"Let an agent answer in a 1:1 chat in Microsoft Teams through a Teams bot.","md",{},true,"\u002Fdocs\u002Fagents\u002Fteams",{"title":6,"description":464},"docs\u002F3.agents\u002F5.teams","Du8KibrFdhuI7FAsLUdg_U7YaywDskW5nO26BmEgc84",[473],{"title":474,"path":475,"stem":476,"children":477,"page":-1},"Docs","\u002Fdocs","docs",[478,481,499,504,523,553,558,570,574],{"title":479,"path":475,"stem":480},"Documentation","docs\u002Findex",{"title":482,"icon":483,"path":484,"stem":485,"children":486,"page":498},"Getting started","i-lucide-compass","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[487,490,494],{"title":448,"path":488,"stem":489},"\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002F1.getting-started\u002F1.overview",{"title":491,"path":492,"stem":493},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F2.quickstart",{"title":495,"path":496,"stem":497},"Glossary","\u002Fdocs\u002Fgetting-started\u002Fglossary","docs\u002F1.getting-started\u002F3.glossary",false,{"title":500,"path":501,"stem":502,"icon":503},"Chat","\u002Fdocs\u002Fchat","docs\u002F2.chat","i-lucide-message-circle",{"title":505,"icon":506,"path":507,"stem":508,"children":509,"page":498},"Agents","i-lucide-bot","\u002Fdocs\u002Fagents","docs\u002F3.agents",[510,514,517,520,522],{"title":511,"path":512,"stem":513},"Building agents","\u002Fdocs\u002Fagents\u002Fbuilding","docs\u002F3.agents\u002F1.building",{"title":312,"path":515,"stem":516},"\u002Fdocs\u002Fagents\u002Fknowledge","docs\u002F3.agents\u002F2.knowledge",{"title":324,"path":518,"stem":519},"\u002Fdocs\u002Fagents\u002Fskills","docs\u002F3.agents\u002F3.skills",{"title":62,"path":61,"stem":521},"docs\u002F3.agents\u002F4.sharing",{"title":6,"path":468,"stem":470},{"title":524,"icon":525,"path":526,"stem":527,"children":528,"page":498},"Workflows","i-lucide-workflow","\u002Fdocs\u002Fworkflows","docs\u002F4.workflows",[529,533,537,541,545,549],{"title":530,"path":531,"stem":532},"Your first workflow","\u002Fdocs\u002Fworkflows\u002Ffirst-workflow","docs\u002F4.workflows\u002F1.first-workflow",{"title":534,"path":535,"stem":536},"The builder","\u002Fdocs\u002Fworkflows\u002Fbuilder","docs\u002F4.workflows\u002F2.builder",{"title":538,"path":539,"stem":540},"Steps","\u002Fdocs\u002Fworkflows\u002Fsteps","docs\u002F4.workflows\u002F3.steps",{"title":542,"path":543,"stem":544},"Triggers","\u002Fdocs\u002Fworkflows\u002Ftriggers","docs\u002F4.workflows\u002F4.triggers",{"title":546,"path":547,"stem":548},"Publishing and setup","\u002Fdocs\u002Fworkflows\u002Fpublishing","docs\u002F4.workflows\u002F5.publishing",{"title":550,"path":551,"stem":552},"Runs","\u002Fdocs\u002Fworkflows\u002Fruns","docs\u002F4.workflows\u002F6.runs",{"title":554,"path":555,"stem":556,"icon":557},"Approvals","\u002Fdocs\u002Fapprovals","docs\u002F5.approvals","i-lucide-check-check",{"title":559,"icon":560,"path":561,"stem":562,"children":563,"page":498},"Integrations","i-lucide-cable","\u002Fdocs\u002Fconnections","docs\u002F6.connections",[564,566],{"title":32,"path":31,"stem":565},"docs\u002F6.connections\u002F1.services",{"title":567,"path":568,"stem":569},"Custom integrations and MCP","\u002Fdocs\u002Fconnections\u002Fcustom","docs\u002F6.connections\u002F2.custom",{"title":571,"path":441,"stem":572,"icon":573},"Sovereignty","docs\u002F7.sovereignty","i-lucide-shield-check",{"title":57,"icon":575,"path":576,"stem":577,"children":578,"page":498},"i-lucide-users","\u002Fdocs\u002Fworkspace","docs\u002F8.workspace",[579,583,587],{"title":580,"path":581,"stem":582},"Workspace and roles","\u002Fdocs\u002Fworkspace\u002Froles","docs\u002F8.workspace\u002F1.roles",{"title":584,"path":585,"stem":586},"Credit and costs","\u002Fdocs\u002Fworkspace\u002Fcosts","docs\u002F8.workspace\u002F2.costs",{"title":588,"path":589,"stem":590},"Partner","\u002Fdocs\u002Fworkspace\u002Fpartner","docs\u002F8.workspace\u002F3.partner",[592,594],{"title":62,"path":61,"stem":521,"description":593,"children":-1},"Make an agent visible to your team, restrict access or pass it on as a copy.",{"title":530,"path":531,"stem":532,"description":595,"children":-1},"Describe a workflow in the chat, test it, publish it and set it up for yourself.",1791184597576]