Maubot plugin to forward user requests to an n8n workflow
Find a file
Tom Foster 18e6927e4e
All checks were successful
Build Maubot Plugin / build (push) Successful in 11s
feat(conversation): improve reply formatting with markdown quoting
When conversation mode is enabled for replies, original messages are now
quoted with '> ' prefixes and contextual labels ("said:" and "requests:")
to help LLMs better distinguish between quoted context and actual requests.

This prevents confusion in multi-turn conversations where both original
and reply content would appear as unmarked text blocks.
2025-09-28 01:40:52 +01:00
.forgejo/workflows refactor(project): streamline CI workflow and restructure README 2025-09-26 18:15:06 +01:00
docs ci(workflow): simplify for main-branch development and improve docs 2025-09-26 17:36:07 +01:00
examples docs(comfyui): restructure and improve documentation readability 2025-09-26 16:26:32 +01:00
n8nbot feat(conversation): improve reply formatting with markdown quoting 2025-09-28 01:40:52 +01:00
.gitignore feat(maubot): initial implementation of maubot-n8n plugin 2025-09-02 22:00:14 +01:00
.markdownlint.yaml feat(docs): add ComfyUI integration guide with working example 2025-09-17 21:51:37 +01:00
.pre-commit-config.yaml feat(conversation): add conversation mode and Ollama text-only workflow 2025-09-23 23:58:04 +01:00
base-config.yaml feat(config): add ignore_replies_to_bot option and enhance ComfyUI prompting 2025-09-25 15:36:50 +01:00
LICENSE feat(maubot): initial implementation of maubot-n8n plugin 2025-09-02 22:00:14 +01:00
maubot.yaml feat(conversation): improve reply formatting with markdown quoting 2025-09-28 01:40:52 +01:00
pyproject.toml feat(webhook): add resilient webhook handling with retry logic 2025-09-03 19:21:32 +01:00
README.md refactor(project): streamline CI workflow and restructure README 2025-09-26 18:15:06 +01:00
uv.lock fix(reply): use get_reply_to() method and improve debug logging 2025-09-23 22:44:11 +01:00

maubot-n8n: Matrix Workflow Automation

Connect Matrix rooms to n8n workflows via webhook triggers.

Quick start

Install from package registry:

# Download the latest version
curl -L -o n8n.mbp "https://git.tomfos.tr/api/packages/tom/generic/maubot-n8n/0.1.15/tr.tomfos.n8n-v0.1.15.mbp"

# Or check available versions
curl -s "https://git.tomfos.tr/api/packages/tom/generic/maubot-n8n" | jq '.versions'

Upload to your Maubot instance, configure the webhook URL, and add it to your instance.

How it works

When someone @mentions the bot, it triggers your n8n webhook:

@mybot: create an image of a magical forest
⏳ (bot acknowledges with reaction)
[Your n8n workflow processes the text]
✅ [Generated image appears in chat]

Key features:

  • Reply handling (processes the original message when you reply with @mention)
  • Visual feedback with emoji reactions during processing
  • User access control with allow/deny lists
  • Passes sender and room context to your workflows

Examples

AI image generation: The ComfyUI workflow shows how to generate images from text prompts using any diffusers-compatible model with Ollama and ComfyUI.

Getting started: Check out the n8n configuration guide for workflow patterns and common setups.

Installation

From package registry (recommended):

  1. Download the latest .mbp file from the package registry
  2. Upload to your Maubot instance
  3. Configure with your n8n webhook URL

From source:

  1. Clone this repository
  2. Build: zip -r n8n.mbp maubot.yaml base-config.yaml n8nbot/
  3. Upload to Maubot

Configuration

Basic setup in your Maubot instance:

n8n_webhook_url: "https://your-n8n-instance.com/webhook/your-webhook-id"
reaction_processing: "⏳"  # Empty string disables reactions
reaction_success: "✅"
reaction_error: "❌"

Learn more

Licensed under Apache 2.0.