# How to integrate Microsoft Viva Engage MCP with Atomic Agent

```json
{
  "title": "How to integrate Microsoft Viva Engage MCP with Atomic Agent",
  "toolkit": "Microsoft Viva Engage",
  "toolkit_slug": "microsoft_viva_engage",
  "framework": "Atomic Agent",
  "framework_slug": "atomic-agent",
  "url": "https://composio.dev/toolkits/microsoft_viva_engage/framework/atomic-agent",
  "markdown_url": "https://composio.dev/toolkits/microsoft_viva_engage/framework/atomic-agent.md",
  "updated_at": "2026-11-12T05:35:00.486Z"
}
```

## Introduction

Atomic Agent is an open-source AI agent that runs on your machine and supports local models through llama.cpp. Connect it to 1,700+ apps through Composio, including Microsoft Viva Engage.
This guide uses Atomic Agent's built-in Composio integration. You need Atomic Agent v0.5.6 or later, your own Composio API key, and a Microsoft Viva Engage account. See the [Atomic Agent documentation](https://atomicagent.io/docs/?cta_placement=atomic-agent-docs) for installation instructions.

## Also integrate Microsoft Viva Engage with

- [ChatGPT](https://composio.dev/toolkits/microsoft_viva_engage/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/microsoft_viva_engage/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/microsoft_viva_engage/framework/hermes-agent)

## TL;DR

### How Atomic Agent connects to Microsoft Viva Engage
Atomic Agent connects to Composio's Tool Router over Streamable HTTP MCP. It discovers the tools needed for your request, and Composio handles account authentication.
Execution and account-connection tools follow Atomic Agent's configured approval policy. Review any approval prompt before allowing an action on your connected account.

## Connect Microsoft Viva Engage to Atomic Agent

### Connect Microsoft Viva Engage to Atomic Agent
- Sign up or sign in to the [Composio dashboard](https://dashboard.composio.dev/?cta_placement=atomic-agent-api-key). Copy your API key.
- In Atomic Agent, open the Integrations tab and select Composio. Select API key, press e, paste the key, and press Enter. The tools become available immediately, without a restart.
- Ask Atomic Agent to do something in Microsoft Viva Engage. It searches Composio for the right tool.
- On first use, open the sign-in link returned in the chat. Connect your Microsoft Viva Engage account, then return to Atomic Agent to continue.
### Headless setup
Add the following line to ~/.atomic-agent/.env, replacing YOUR_COMPOSIO_API_KEY with your key. Start Atomic Agent after saving the file.

```bash
COMPOSIO_API_KEY=YOUR_COMPOSIO_API_KEY
```

## What is the Microsoft Viva Engage MCP server, and what's possible with it?

The Microsoft Viva Engage MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Microsoft Viva Engage account. It provides structured and secure access to Viva Engage communities, members, owners, and engagement roles, so your agent can create and update communities, manage members and owners, discover engagement roles, and assign or remove role memberships on your behalf.
- Community management: Have your agent create communities, update their names, descriptions, or privacy settings, list available communities, and delete communities when needed.
- Member administration: Let the agent add individual members or groups of members to a community, list current members, and remove members without deleting their user accounts.
- Owner management: Direct your agent to add community owners, list current owners, or remove a user's community admin status.
- Engagement role discovery: Instruct your agent to list the predefined Viva Engage administrative and corporate communication roles, including the roles assigned to you or another user.
- Role assignments: Have your agent assign or remove a predefined Viva Engage engagement role for a user.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `MICROSOFT_VIVA_ENGAGE_ADD_COMMUNITY_MEMBER` | Add Community Member | Add one Microsoft Entra user to a Viva Engage community by adding the user to its associated Microsoft 365 group. Requires group_id from community.groupId, not the Viva Engage community ID. |
| `MICROSOFT_VIVA_ENGAGE_ADD_COMMUNITY_MEMBERS_BULK` | Add Community Members in Bulk | Atomically add up to 20 users to a Viva Engage community's associated Microsoft 365 group. If any user reference is invalid, no users are added. |
| `MICROSOFT_VIVA_ENGAGE_ADD_COMMUNITY_OWNER` | Add Community Owner | Make one Microsoft Entra user a Viva Engage community admin by adding the user as an owner of the community's associated Microsoft 365 group. This grants administrative privileges: confirm the target user and group before calling. Add the owner as a member separately if member capabilities are also required. Requires group_id from community.groupId, not the Viva Engage community ID. |
| `MICROSOFT_VIVA_ENGAGE_ASSIGN_ENGAGEMENT_ROLE_MEMBER` | Assign Engagement Role Member | Assign one predefined Viva Engage administrative or corporate communication role to a Microsoft Entra user. This changes the user's privileges; confirm both the role and target user before calling. Retain the returned member ID for safe removal; Graph currently uses the target user ID as that member ID when this route returns 204. |
| `MICROSOFT_VIVA_ENGAGE_CREATE_COMMUNITY` | Create Community | Start asynchronous creation of a Viva Engage community. This provisions Microsoft 365 tenant resources and returns an operation reference; poll the operation separately before treating the community as created. |
| `MICROSOFT_VIVA_ENGAGE_DELETE_COMMUNITY` | Delete Community | Permanently delete a Viva Engage community and all associated Microsoft 365 content, including its connected group, OneNote notebook, and Planner plans. This destructive action cannot be undone. |
| `MICROSOFT_VIVA_ENGAGE_GET_COMMUNITY` | Get Community | Get one Viva Engage community by community ID, including its distinct associated Microsoft 365 group ID. |
| `MICROSOFT_VIVA_ENGAGE_GET_ENGAGEMENT_ASYNC_OPERATION` | Get Engagement Async Operation | Get the status and resulting resource reference for a Viva Engage asynchronous operation such as community creation. Make separate calls more than 30 seconds apart while polling. |
| `MICROSOFT_VIVA_ENGAGE_LIST_COMMUNITIES` | List Communities | List Viva Engage communities in the tenant, one Microsoft Graph page at a time, including each community ID and associated Microsoft 365 group ID. |
| `MICROSOFT_VIVA_ENGAGE_LIST_COMMUNITY_MEMBERS` | List Community Members | List direct members of a Viva Engage community's associated Microsoft 365 group, one Microsoft Graph OData page at a time. Requires group_id from community.groupId, not the Viva Engage community ID. Hidden members are visible only when the connection also has Member.Read.Hidden. |
| `MICROSOFT_VIVA_ENGAGE_LIST_COMMUNITY_OWNERS` | List Community Owners | List owners of a Viva Engage community's associated Microsoft 365 group, who are community admins, one Microsoft Graph OData page at a time. Requires group_id from community.groupId, not the Viva Engage community ID. |
| `MICROSOFT_VIVA_ENGAGE_LIST_ENGAGEMENT_ROLE_MEMBERS` | List Viva Engage Role Members | List users assigned to one predefined Viva Engage role and return the selected assignment properties. Include id for later removal and userId for identity correlation. Requires a role_id from List Viva Engage Roles and a native-mode Viva Engage network; legacy and external networks are unsupported. |
| `MICROSOFT_VIVA_ENGAGE_LIST_ENGAGEMENT_ROLES` | List Viva Engage Roles | List the predefined administrative and corporate communication roles that can be assigned in Viva Engage, one Microsoft Graph page at a time. Custom roles cannot be created, and this API supports only native-mode Viva Engage networks with a work or school account. |
| `MICROSOFT_VIVA_ENGAGE_LIST_MY_ASSIGNED_ENGAGEMENT_ROLES` | List My Assigned Viva Engage Roles | List Viva Engage roles assigned to the signed-in work or school user, one Microsoft Graph page at a time. |
| `MICROSOFT_VIVA_ENGAGE_LIST_USER_ASSIGNED_ENGAGEMENT_ROLES` | List User Assigned Viva Engage Roles | List Viva Engage roles assigned to a specified Microsoft Entra user, one Microsoft Graph page at a time. |
| `MICROSOFT_VIVA_ENGAGE_REMOVE_COMMUNITY_MEMBER` | Remove Community Member | Remove one user from a Viva Engage community's associated Microsoft 365 group, revoking community membership without deleting the user object. Dynamic-group memberships cannot be changed with this action. The request always retains the safety-critical /$ref suffix. |
| `MICROSOFT_VIVA_ENGAGE_REMOVE_COMMUNITY_OWNER` | Remove Community Owner | Remove a user's community admin status by removing the user as an owner of the Viva Engage community's associated Microsoft 365 group. This is destructive to admin access: verify another user owner remains because Microsoft Graph does not allow removal of the last user owner. The request always retains the safety-critical /$ref suffix. |
| `MICROSOFT_VIVA_ENGAGE_REMOVE_ENGAGEMENT_ROLE_MEMBER` | Remove Engagement Role Member | Revoke one user's Viva Engage role assignment. This can remove administrative or corporate communication privileges: confirm the role and assignment before calling. Use the role_member_id returned by listing or assigning role members; Graph currently uses the target user ID as this member ID on assignment. |
| `MICROSOFT_VIVA_ENGAGE_UPDATE_COMMUNITY` | Update Community | Update a Viva Engage community's name, description, or privacy by community ID. Provide at least one field; omitted fields remain unchanged. |

## Supported Triggers

None listed.

## Troubleshooting

### Why is my API key rejected?

Copy the key directly from the Composio dashboard. Atomic Agent requires ASCII characters because it sends the key in an HTTP header. Remove any extra characters introduced when copying.

### Why are Composio tools unavailable after saving a key?

Check that you use Atomic Agent v0.5.6 or later and that Composio is enabled in your configuration. A "composio": { "enabled": false } setting disables the integration while keeping the saved key on disk.

### Does Composio have a free plan?

The Hobby plan includes 100,000 tool calls per month. Composio-managed OAuth apps have a lower included allowance. See [Composio pricing](/pricing/platform) for the current limits that apply to your connection.

## Complete Code

None listed.

## Conclusion

### Use Microsoft Viva Engage from Atomic Agent
With your account connected, ask Atomic Agent to work with Microsoft Viva Engage in natural language. You can connect more apps through the same Composio integration as you need them.
Visit the [Atomic Agent website](https://atomicagent.io/?cta_placement=atomic-agent-site) or inspect the [Atomic Agent source code](https://github.com/AtomicBot-ai/atomic-agent?cta_placement=atomic-agent-repo).

## How to build Microsoft Viva Engage MCP Agent with another framework

- [ChatGPT](https://composio.dev/toolkits/microsoft_viva_engage/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/microsoft_viva_engage/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/microsoft_viva_engage/framework/hermes-agent)

## Related Toolkits

- [Gmail](https://composio.dev/toolkits/gmail) - Gmail is Google's email service with powerful spam protection, search, and G Suite integration. It keeps your inbox organized and makes communication fast and reliable.
- [Outlook](https://composio.dev/toolkits/outlook) - Outlook is Microsoft's email and calendaring platform for unified communications and scheduling. It helps users stay organized with powerful email, contacts, and calendar management.
- [Slack](https://composio.dev/toolkits/slack) - Slack is a channel-based messaging platform for teams and organizations. It helps people collaborate in real time, share files, and connect all their tools in one place.
- [Gong](https://composio.dev/toolkits/gong) - Gong is a platform for video meetings, call recording, and team collaboration. It helps teams capture conversations, analyze calls, and turn insights into action.
- [Microsoft teams](https://composio.dev/toolkits/microsoft_teams) - Microsoft Teams is a collaboration platform that combines chat, meetings, and file sharing within Microsoft 365. It keeps distributed teams connected and productive through seamless virtual communication.
- [Slackbot](https://composio.dev/toolkits/slackbot) - Slackbot is a conversational automation tool for Slack that handles reminders, notifications, and automated responses. It boosts team productivity by streamlining onboarding, answering FAQs, and managing timely alerts—all right inside Slack.
- [2chat](https://composio.dev/toolkits/_2chat) - 2chat is an API platform for WhatsApp and multichannel text messaging. It streamlines chat automation, group management, and real-time messaging for developers.
- [Agent mail](https://composio.dev/toolkits/agent_mail) - Agent mail provides AI agents with dedicated email inboxes for sending, receiving, and managing emails. It empowers agents to communicate autonomously with people, services, and other agents—no human intervention needed.
- [Aircall](https://composio.dev/toolkits/aircall) - Aircall is a cloud-based phone and call-center platform for business communications. It centralizes calls, contacts, teams, numbers, and tags in one place.
- [Android Texter](https://composio.dev/toolkits/android_texter) - Android Texter is an API service that connects Android phones to SMS, MMS, contacts, and device data. Use it to automate mobile messaging without building your own phone-to-API bridge.
- [Basecamp](https://composio.dev/toolkits/basecamp) - Basecamp is a project management and team collaboration tool by 37signals. It helps teams organize tasks, share files, and communicate efficiently in one place.
- [Blooio](https://composio.dev/toolkits/blooio) - Blooio is a stable v2 API platform for messaging, chats, contacts, groups, phone numbers, and account analytics. It gives teams a clean way to build reliable communication workflows without stitching together fragile custom APIs.
- [Callback24](https://composio.dev/toolkits/callback24) - Callback24 is a telephony API for managing phone calls, users, services, and routing groups. It centralizes call control and routing to automate voice workflows and operations.
- [CallOnTheGo](https://composio.dev/toolkits/callonthego) - CallOnTheGo is a telephony API for managing phone numbers, caller IDs, suppression lists, audio assets, contact lists, and Voice AI campaigns. It provides programmatic control over calling infrastructure and campaign automation for scalable voice outreach.
- [Carbon Voice MCP](https://composio.dev/toolkits/carbon_voice_mcp) - Carbon Voice MCP is a voice-first collaboration platform for messages, conversations, and workflows. Use it to centralize voice communications and streamline team collaboration.
- [CardClan](https://composio.dev/toolkits/cardclan) - CardClan is a digital card platform for creating and sending personalized team cards. Use it to celebrate moments, share card links, and manage card workflows without extra coordination.
- [Chatwork](https://composio.dev/toolkits/chatwork) - Chatwork is a team communication platform with group chats, file sharing, and task management. It helps businesses boost collaboration and streamline productivity.
- [Clickmeeting](https://composio.dev/toolkits/clickmeeting) - ClickMeeting is a cloud-based platform for running online meetings and webinars. It helps businesses and individuals host, manage, and engage virtual audiences with ease.
- [Confluence](https://composio.dev/toolkits/confluence) - Confluence is Atlassian's team collaboration and knowledge management platform. It helps your team organize, share, and update documents and project content in one secure workspace.
- [Daily](https://composio.dev/toolkits/daily) - Daily is a WebRTC video and audio API platform for building rooms, meetings, recordings, live streams, transcriptions, and telephony. It gives developers reliable real-time media infrastructure without managing complex conferencing stacks.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Microsoft Viva Engage MCP?

With a standalone Microsoft Viva Engage MCP server, the agents and LLMs can only access a fixed set of Microsoft Viva Engage tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Microsoft Viva Engage and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Atomic Agent?

Yes, you can. Atomic Agent fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Microsoft Viva Engage tools.

### Can I manage the permissions and scopes for Microsoft Viva Engage while using Tool Router?

Yes, absolutely. You can configure which Microsoft Viva Engage scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Microsoft Viva Engage data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
