Integrations / Messaging

Matrix

Send messages and notices to Matrix rooms, read a room's recent messages and members, resolve room aliases and join rooms, on matrix.org or your own homeserver.

10 tools

Tools

matrix.list_joined_rooms

List the IDs of the rooms the account has joined. Room IDs look like !abcDEFghiJKL:matrix.org; use get_room_name for a room's name.

matrix.get_room_name

Get a room's name. Fails with M_NOT_FOUND if the room has no name set.

room_id*

matrix.resolve_alias

Turn a room alias such as

room_alias*

matrix.join_room writes

Join a room the account was invited to or that is public, by room ID or alias. Returns the room ID.

room*

matrix.send_message writes

Send a message to a room and return its event ID, like $Rqnc-F-dvnEYJTyHq_iKxU2bZ1CI92-kuZq3a5lr5Zg. Sending again with the same txn_id doesn't send twice.

room_id*txn_id*body*msgtypeformatted_bodyformat

matrix.read_messages

Read a room's recent events, newest first by default. Times are Unix milliseconds. Pass end as from to read further back.

room_id*dirlimitfromfilter

matrix.list_members

List the users who have joined a room, by user ID like @ada:matrix.org, with their display names.

room_id*

matrix.redact_event writes

Remove the content of a message or other event in a room, leaving a trace that it was redacted.

room_id*event_id*txn_id*reason

matrix.api_get

Send a GET request to any Matrix API path under https://{homeserver}/_matrix/client/v3 and return the response. For endpoints the named tools don't cover.

path*params

matrix.api_request writes

Send a POST, PUT, PATCH or DELETE request to any Matrix API path under https://{homeserver}/_matrix/client/v3.

method*path*paramsbody

Tick Allow raw writes on the connection to add api_request, which can send POST, PUT, PATCH and DELETE requests to any Matrix API path.

Connect

  1. Create a separate account for Murmurator to act as, invite it to the rooms workflows should use, and have it accept. Encrypted rooms aren't supported, since the connection can't encrypt or decrypt messages.
  2. Get a long-lived access token by logging in once with a password: POST {"type": "m.login.password", "identifier": {"type": "m.id.user", "user": "<username>"}, "password": "<password>", "initial_device_display_name": "Murmurator"} to https://<homeserver>/_matrix/client/v3/login and copy access_token from the reply.
  3. On a homeserver without the new Matrix Authentication Service, Element's Settings → Help & About → Advanced → Access Token works too, but signing that Element session out revokes it. matrix.org uses the new service, where Element's tokens expire within minutes, so use the login above there.
  4. Set Homeserver to the client API host: matrix-client.matrix.org for matrix.org, the base_url in https://<your server>/.well-known/matrix/client otherwise, or, for a server at home, its tailnet name and port such as http://synapse:8008 with a tailscale connection named as the Tailnet.

Credentials

Access token

Matrix API docs

Turn one person's AI process into the company's.

Murmurator is invite-only. Already invited? Sign in and build something real.