Connect Microsoft 365
Connects the company's Microsoft 365 through its own app, for the mailboxes the agent may act as.
Free
This tool costs nothing to call.
An example
Connect our Microsoft 365 for support@ only. Here is the app's tenant, client ID and secret.
Your agent callsm365_connectFree
The example business is Hansen & Voss, a restaurant-equipment wholesaler in Hamburg with 60 staff. The reply is the one the tool really gives.
{
"tenant_id": "hansenvoss.onmicrosoft.com",
"client_id": "6b1f0c2e-example-app",
"secret": "example-client-secret",
"mailboxes": [
"support@hansenvoss.example"
]
}Use it when
The company uses Outlook and OneDrive and wants the agent to work in them there.
What it does
Connect the company's own Microsoft 365 so the agent works in its Outlook mail, calendars and OneDrive files, which stay the source of truth. The company registers an app in Microsoft Entra ID with the application permissions Mail.ReadWrite, Mail.Send, Calendars.ReadWrite and Files.ReadWrite.All, and its admin consents. Give its tenant_id, client_id and client secret, and the mailboxes the agent may act as (it never acts as anyone else). Each mailbox is checked before anything is kept. On accounts with an owner, cancelling events and replacing files wait for the owner's approval by default. Free.
What comes back
microsoft365: tenant_id, mailboxes and connected_at; need_approval, the tools that now wait for the owner. Every reply also carries cost_usd and balance_usd.
Inputs
| Name | Type | What it is |
|---|---|---|
tenant_idRequired | string | 3 to 120 characters. |
client_idRequired | string | 3 to 120 characters. |
secretRequired | string | The app's client secret. Never shown again. 8 to 2,000 characters. |
mailboxesRequired | array of strings | The addresses the agent may act as, like support@ and sales@. 1 to 20 items. |
The call
Over MCP, call m365_connect on https://api.conecto.chat/mcp/microsoft365. Over REST:
curl -X POST https://api.conecto.chat/v1/tools/m365_connect \
-H "Authorization: Bearer $CONECTO_KEY" \
-H "Content-Type: application/json" \
-d '{"tenant_id":"hansenvoss.onmicrosoft.com","client_id":"6b1f0c2e-example-app","secret":"example-client-secret","mailboxes":["support@hansenvoss.example"]}'When it refuses
A refused call costs nothing and says what to do next.
| Code | When | What to do |
|---|---|---|
invalid_input400 | A mailbox is not an email address, or none was named. | Name 1 to 20 mailboxes. |
vendor_rejected502 | Microsoft refused the tenant, client ID or secret, or a mailbox. | Check the app's permissions and the admin's consent. |
More Microsoft 365 tools
All 11 tools- Search Outlook mail
m365_mail_searchThe newest messages in a mailbox folder, or those matching a search.Free* - Read an Outlook message
m365_mail_readOne message in full, with its body as text and its attachments' names.Free* - Send Outlook mail
m365_mail_sendSends an email, or a reply in the same thread, as one of the company's mailboxes.$0.001 a call - Read an Outlook calendar
m365_calendar_eventsThe events in a mailbox's calendar between two times, in UTC.Free* - Add an Outlook event
m365_calendar_createAdds an event to a mailbox's calendar and invites its attendees, with a Teams link if asked.$0.001 a call - Cancel an Outlook event
m365_calendar_cancelCancels an event the mailbox organizes and tells its attendees; waits for the owner by default.$0.001 a call - Search OneDrive files
m365_files_searchFiles in a mailbox user's OneDrive whose name or words match.Free* - Read a OneDrive file
m365_files_readA OneDrive file's words: text, PDF, Word, Excel or PowerPoint, up to 5 MB.Free*
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md