---
title: "Matrix Integration"
description: "Connect to a Matrix homeserver over the Client-Server API. Send messages and events, provision and administer rooms, manage memberships, read profiles, and move media in and out of the homeserver media repository."
url: https://flowrunner.ai/integrations/matrix
date_modified: 2026-08-01T02:40:32-07:00
---

# Matrix

[Communication](https://flowrunner.ai/integrations/category/communication-messaging)

Connect to a Matrix homeserver over the Client-Server API. Send messages and events, provision and administer rooms, manage memberships, read profiles, and move media in and out of the homeserver media repository.

[Verified](https://flowrunner.ai/integrations/verified "What does verified mean?") · 22 actions · API key · available

[Matrix website](https://matrix.org/) · [Platform Documentation](https://spec.matrix.org/latest/client-server-api/) · Capability data verified 2026-07-14

1.  An access-review workflow finds a member who no longer belongs in a sensitive room
2.  Agent reads the room's current membership and the member's status in the source system
3.  Agent confirms the member's access was actually revoked upstream, not just changed
4.  Agent posts the proposed removal and the evidence to the room admin channel
5.  Agent names the member, the room, and the reason for the proposed kick
6.  A room admin approves the removal; only then does the agent call Kick User

## What This Integration Enables

FlowRunner agents use Matrix to run notifications and room operations on infrastructure you control. An agent can post plain-text or rich HTML messages and bot notices, create rooms, invite and kick members, set names and topics, page through a room's timeline for audit, and bridge files in and out by uploading from a URL or downloading media into FlowRunner storage. Because Matrix is self-hosted and federated, it is a natural fit for teams that want their messaging on their own homeserver. The membership actions are where the agent slows down and asks, because removing a person from a room is a decision, not a routine step.

### Without FlowRunner

**Manual access reviews**: Someone compares room membership to the access list by hand

**Risky auto-kicks**: Blanket automation removes people on a stale signal and disrupts a room

**No removal record**: A member disappears from a room with no note of who decided or why

### With FlowRunner

**Agent proposes**: The agent surfaces the mismatch and the evidence for the removal

**Human confirms**: An admin approves before anyone is removed from a sensitive room

**Logged membership change**: Each kick is captured with the admin who approved it

## Use Case Scenarios

### Access review with a removal gate

An access-review workflow compares each sensitive room's membership against the source-of-truth access list. When it finds someone whose access was revoked upstream, it does not kick them automatically. It posts the proposed removal, the member, the room, and the evidence to the room admin channel, then waits. A room admin approves. Only then does the agent call Kick User, and it records who approved the change. A stale signal never removes a person on its own.

### Cross-network mirroring

When a message posts in a Slack or Discord channel, the agent calls Send Message or Send Notice to mirror it into a Matrix room, keeping a federated community in sync with a commercial one. Send Notice marks bot-generated output by convention, so people can tell automated posts from human ones.

### Media bridging

The agent fetches an attachment from another system with Upload Media, which stores it on the homeserver and returns an mxc URI, then references it in a message. In the other direction, Download Media pulls a Matrix attachment into FlowRunner storage so a downstream step can process it.

## Human-in-Loop Highlight

The human-in-loop moment on Matrix is the removal gate. Posting and inviting run on their own. Kicking a member from a sensitive room does not. When an access review turns up someone who should no longer be in a room, the agent gathers the evidence and posts a request to the room admin channel: "Access for this member was revoked in the source system. Remove them from the secure-ops room?" A room admin approves or holds. Only an approval leads the agent to call Kick User, and the approval is recorded. The agent finds the mismatches and assembles the case. A person makes the call to remove someone.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

22 actions

### Messaging

4

-   **Redact Event** Redact (remove) an event from a room. Used to retract a message the agent posted in error.
-   **Send Event** Send any Matrix event type with a custom content object. Used for reactions, state changes, or custom event types beyond plain messages.
-   **Send Message** Send an m.room.message event with plain-text or rich HTML formatting. Used to post an alert or bot message into a room.
-   **Send Notice** Send an m.notice message, the convention for automated bot output. Used for digests and non-interactive notifications.

### Rooms

13

-   **Create Room** Create a new room. Used to provision a space for an incident or onboarding workflow.
-   **Forget Room** Forget a room the account has left. Used for cleanup.
-   **Get Joined Rooms** List the rooms the account has joined. Used to resolve a target room.
-   **Get Room Members** List the members of a room. Used to audit membership or drive notifications.
-   **Get Room Messages** Page through a room's timeline. Used to archive or audit a conversation.
-   **Get Room State** Read a room's state events. Used to inspect name, topic, and configuration.
-   **Invite User** Invite a user to a room. Used to enroll a stakeholder.
-   **Join Room** Join a room by ID or alias. Used before posting where the account is not yet a member.
-   **Kick User** Remove a user from a room. Used during offboarding or access review, behind a human approval.
-   **Leave Room** Leave a room. Used for cleanup after a workflow completes.
-   **Resolve Room Alias** Turn a human-friendly alias into a room ID. Used before actions that require a room ID.
-   **Set Room Name** Set a room's display name.
-   **Set Room Topic** Set a room's topic.

### Profile

3

-   **Get Profile** Read a user's profile, including display name and avatar.
-   **Set Display Name** Set the connected account's display name.
-   **Whoami** Return the account behind the access token. Used as a connection check.

### Media

2

-   **Download Media** Download an mxc media reference into FlowRunner file storage and return a downloadable URL.
-   **Upload Media** Upload media from a source URL to the homeserver and return an mxc URI.

## Frequently Asked Questions

### What can FlowRunner do with Matrix?

FlowRunner agents can run Redact Event, Send Event, and Send Message in Matrix, plus 19 more actions.

### Does connecting Matrix to FlowRunner require OAuth?

No. Matrix connects to FlowRunner with an API key, no OAuth flow required.

### Can Matrix trigger a FlowRunner workflow automatically?

Matrix doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.

**Work at Matrix?** This integration exposes Matrix to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/matrix. Site index: https://flowrunner.ai/llms.txt
