# How to integrate Microsoft Viva Engage MCP with Hermes

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

## Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.
This guide explains the easiest and most robust way to connect your Microsoft Viva Engage account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

## 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)
- [Atomic Agent](https://composio.dev/toolkits/microsoft_viva_engage/framework/atomic-agent)

## TL;DR

### What is Composio Connect?
Composio Connect is a consumer offering that lets anyone plug 1,700+ applications directly into their agent harness — including Hermes. It can:
- Search and load tools from relevant toolkits on-demand, reducing context usage.
- Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
- Manage app authentication end-to-end with zero manual overhead.

## Connect Microsoft Viva Engage to Hermes

### Integrating Microsoft Viva Engage with Hermes
### Using Composio Connect CLI
1. Install the Composio CLI
Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

```bash
curl -fsSL https://composio.dev/install | bash
```

## 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.

## Creating MCP Server - Stand-alone vs Composio SDK

The Microsoft Viva Engage MCP server provides comprehensive access to Microsoft Viva Engage operations through Composio. Once connected, Hermes can perform all major Microsoft Viva Engage actions on your behalf using natural language commands.

## Complete Code

None listed.

## Conclusion

### Way Forward
With Microsoft Viva Engage connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.
From here, you can extend Hermes further:
- Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
- Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
- Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.
If you run into trouble or want to share what you've built, join the [community](https://discord.com/invite/composio) or check out the [Docs](https://docs.composio.dev?cta_placement=toolkit-framework-hermes-docs) for deeper configuration options.

## 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)
- [Atomic Agent](https://composio.dev/toolkits/microsoft_viva_engage/framework/atomic-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 Hermes?

Yes, you can. Hermes 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)
