Skip to main content

Matimo provider — Microsoft Graph tools (mail, calendar, Teams, files, SharePoint)

Project description

matimo-microsoft

Microsoft Graph tools for Matimo — search, OneDrive/SharePoint files, Outlook mail, Microsoft Teams, calendar, and SharePoint publishing.

PyPI Docs


Installation

pip install matimo matimo-microsoft

Available Tools (9 Total)

Tool Description Risk Graph endpoint
ms_search_knowledge Search SharePoint sites, OneDrive/SharePoint files, and list items low POST /search/query
ms_read_file Read a OneDrive/SharePoint file's contents (plain-text formats only) low GET /drives/{id}/items/{id}/content
ms_list_files List the children of a OneDrive/SharePoint folder low GET /drives/{id}/items/{id}/children
ms_get_email List messages in the signed-in user's mailbox low GET /me/messages
ms_send_email Send an email as the signed-in user high (approval) POST /me/messages + /send
ms_send_teams_message Post (or reply to) a message in a Teams channel medium POST /teams/{id}/channels/{id}/messages
ms_create_document Upload a small file to OneDrive/SharePoint (≤4 MB) medium PUT /drives/{id}/items/{id}:/{name}:/content
ms_create_calendar_event Create a calendar event, optionally as a Teams meeting medium POST /me/events
ms_publish_to_sharepoint Create and publish a SharePoint site page high (approval) POST /sites/{id}/pages + /publish

Quick Start

from matimo import MatimoInstance

matimo = await MatimoInstance.init(auto_discover=True)

# Search across SharePoint and OneDrive
search = await matimo.execute("ms_search_knowledge", {"query": "Q3 budget filetype:xlsx", "top": 5})

# List messages in the signed-in user's mailbox
inbox = await matimo.execute("ms_get_email", {"top": 5, "filter": "isRead eq false"})

# Send an email (requires_approval: true — routed through HITL)
await matimo.execute(
    "ms_send_email",
    {"to": ["alice@contoso.com"], "subject": "Weekly status update", "body": "Here is the summary..."},
)

Authentication

Microsoft Graph tools use delegated OAuth2 access tokens. Matimo never performs the OAuth code exchange itself — connect Microsoft through your Matimo deployment (Nova), then provide the resulting token at execution time:

export MICROSOFT_GRAPH_ACCESS_TOKEN="eyJ0eXAiOiJKV1Qi..."

or pass it through per-call credentials:

await matimo.execute(
    "ms_get_email",
    {"top": 5},
    credentials={"MICROSOFT_GRAPH_ACCESS_TOKEN": token},
)

Risk & Approval

ms_send_email and ms_publish_to_sharepoint are marked risk: high and requires_approval: true — Matimo routes them through the human-in-the-loop approval flow before they execute, since they send mail and publish content visible to others on the user's behalf. ms_send_teams_message, ms_create_document, and ms_create_calendar_event are risk: medium (external writes, narrower blast radius). The remaining read-only tools are risk: low.


Documentation


Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

matimo_microsoft-0.1.0.tar.gz (26.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

matimo_microsoft-0.1.0-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file matimo_microsoft-0.1.0.tar.gz.

File metadata

  • Download URL: matimo_microsoft-0.1.0.tar.gz
  • Upload date:
  • Size: 26.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matimo_microsoft-0.1.0.tar.gz
Algorithm Hash digest
SHA256 68a8675a5e243ee63db5cb0021628b428a87a76f9200d633b431a35d843f84bb
MD5 593806bcf35e52bae8976e4bfce8f70c
BLAKE2b-256 f4ffef0fa32945aa858ea57df9dec54dc857ef91d9ff3812d9cc2438fc2def5c

See more details on using hashes here.

File details

Details for the file matimo_microsoft-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for matimo_microsoft-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5f4a6bda3fa19a73d2f72f77781a29c736930876d9dcb7f65ae6a5dd226fb0f8
MD5 0c82620e9415f4c95a7647ae43ad421a
BLAKE2b-256 6549e2bf7f26654bc3a6645fe622243900c47f9e81dba00643477ae2715dff2d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page