Setup and Installation
Channel Configuration
When creating a Microsoft Teams channel in VIVI, you’ll configure the following settings:- Channel Name: An internal identifier for your channel within VIVI
- Display Name: The name that will be displayed to users in Microsoft Teams and Copilot
- Description: A short description shown to users in Microsoft Teams that explains your agent’s purpose (up to 80 characters)
- Long Description: Detailed description of your app (up to 400 characters)
- Welcome Message: An optional greeting shown when users start a conversation with your agent
- Logo URL: A custom logo image that represents your agent in Teams
Permissions
Configure the permissions your agent needs to function in Microsoft Teams:User.Read
User.Read
ChannelMessage.Read.All
ChannelMessage.Read.All
- Thread context: Access root message + up to 20 replies when mentioned
- File attachments: Access attachment information when users share files in channels
ChatMessage.Read.All
ChatMessage.Read.All
- Chat context: Access last 20 messages when mentioned
- File attachments: Access attachment information when users share files in chats
Files.Read.All
Files.Read.All
- Download files from SharePoint (for channels) or OneDrive (for chats)
- Process pasted screenshots in group conversations
- File uploads are secured using SAS token generation for safe blob storage handling
Installation Steps
After creating your channel, there will be a brief authentication period. Once authentication is complete, you’ll receive a confirmation email indicating your channel is ready to install. To install your agent in Microsoft Teams, follow the steps below.Download the App Manifest
Open Teams Admin Center
Upload the App Package
Grant Admin Consent
Connect and Test Your Channel
Where to Use Your Agent
Your agent can be accessed in multiple locations within Microsoft Teams and Copilot. Each location offers different interaction patterns and capabilities:Commands
Your agent supports the following commands in personal chats:Proactive Messaging
By default, a Microsoft Teams agent is reactive: it answers when someone messages it. Proactive Teams messages flip that around — your agent can start a Teams conversation on its own, delivering a notification, alert, or hand-off to a pre-approved destination. For example, a front-desk agent can notify the Housekeeping channel when a guest requests fresh towels, or a support agent can post to an on-call chat when it detects an outage. A proactive message can be sent in four ways:- By your agent, mid-conversation, when it decides an action is warranted.
- From the portal, using the Test button while you set things up.
- From a scheduled task, to send recurring or time-based messages.
- From the API, using the Trigger Conversations endpoint (for developers).
How it works
Proactive messaging is built from two pieces:Targets
Actions
Before you start
An active MS Teams channel
An active MS Teams channel
The app installed at each destination
The app installed at each destination
An agent assigned to the channel
An agent assigned to the channel
Step 1 — Register a target
Targets are registered from inside Microsoft Teams, not from the portal. How you register depends on where you want the agent to send messages.Team channels register automatically
1:1 and group chats register with a command
Housekeeping with a label that helps you recognize the destination later. The bot replies to confirm:Registered “Housekeeping” as a Teams message target.
Confirm in the portal
/register. To register destinations that predate the feature:- 1:1 and group chats — no reinstall needed. Just send
/register <label>in the existing chat and the target is created immediately. - Team channels — because a channel is only registered when the app is added, remove the app from the channel and add it again. Re-adding it triggers registration, and the channel then shows up in your Targets table.
/register command will.- Active — ready to receive proactive messages.
- Unavailable — the bot can no longer reach the destination (for example, the app was uninstalled or its permissions were revoked). A target flips to this state automatically after a failed send. Re-install the app or re-run
/registerto restore it.
Step 2 — Create an action
An action turns a target into something your agent can actually use. Open the Proactive Teams messages section, go to the Agent message actions table, and select Add action.Choose a target
Name the action
Notify Housekeeping. This is how the action appears to your agent.Write the trigger description
Use when a guest asks for housekeeping service such as fresh towels, extra pillows, or room cleaning. Include the room number and the request.
Add message guidance (optional)
Enable the action
Testing a target
Before you rely on an action, confirm the destination actually receives messages. In the Targets table, use the Test action on a row to send an ad-hoc message.Open the test dialog
Write and send a test message
Confirm delivery in Teams
Managing targets and actions
- Rename a target — use the Rename action to update a target’s display name. This only changes the label; the underlying destination stays the same.
- Delete a target — deleting a target also removes every action bound to it. Any agent tools created from those actions stop working.
- Edit or disable an action — update an action’s target, name, trigger description, or guidance at any time, or toggle Action enabled off to pause it without deleting it.
- Watch for
Unavailabletargets — if a target goes unavailable, its actions can’t deliver. Re-install the app or re-run/registerat the destination to bring it back.
Best Practices
- Set appropriate expectations in your agent’s prompt for what it can and cannot help with in the Teams environment.
- Use the description field to help users understand your agent’s capabilities before they start a conversation.
- Create a welcoming and informative welcome message that sets the tone and provides guidance on how to interact with your agent.
- Use /new command on Teams after making changes to your agent on VIVI to ensure your conversation has the latest agent configuration.
- Write triggers like briefings. Spell out the situation, the intent, and any must-include details for proactive message actions. Specific triggers (“when a guest requests housekeeping, include the room number”) behave far more reliably than vague ones (“when relevant”).
- One action per outcome. Prefer several focused proactive message actions over a single catch-all — it’s easier for the agent to choose correctly and easier for you to reason about.
- Keep targets tidy. Remove proactive message targets you no longer use so the list stays meaningful, and give them clear labels at registration time.
- Test before you trust. Send a test message to every target after registering it, and again if you suspect the app’s install or permissions changed.
- Set expectations in guidance. Use message guidance to control tone and required detail so proactive messages read consistently, whoever the agent is talking to.

