A bot which logs in as a help user in Matrix and mirrors all messages sent to it from Matrix into Chatwoot and allows Chatwoot agents to respond.
Matrix chat: #chatwoot-matrix:nevarro.space
-
Chatwoot -> Matrix
- Plain text
- Message formatting
- Attachments
- Images
- Files
- Private messages are ignored
- Redactions
- Append message sender to message that gets mirrored into Matrix
-
Matrix -> Chatwoot
- Text
- Message formatting
- Attachments
- Images/GIFs
- Files
- Edits *
- Reactions *
- Redactions
- Mark the canonical DM with a label
-
Multiple chats with help bot supported
-
Read receipt sent when message is sent from Chatwoot or when conversation is resolved in Chatwoot
-
Error notifications as private messages when bridging fails in either direction
* indicates that a textual representation is used because Chatwoot does not support the feature
First, create an inbox in your Chatwoot instance, and set the webhook URL to the
bridge (see Webhook Listener Settings below). Then, create a config.json
file.
The options are listed below. Required fields are marked with a *.
Matrix Authentication
Homeserver
* --- the Matrix homeserver to connect toUsername
* --- the Matrix username of the help botPasswordFile
* --- a file containing the Matrix user password
Chatwoot Authentication
ChatwootBaseUrl
* --- the base URL for the Chatwoot instanceChatwootAccessTokenFile
* --- a file containing the access token for ChatwootChatwootAccountID
* --- the Chatwoot account ID to useChatwootInboxID
* --- the Chatwoot inbox ID to create conversations in
Database Settings
DBConnectionString
* --- a PostgreSQL database connection string for the bot
Bot Settings
AllowMessagesFromUsersOnOtherHomeservers
---true
orfalse
indicating whether or not to create conversations for messages originating from users on other homeservers. Defaults tofalse
.CanonicalDMPrefix
--- if not""
, when creating a conversation, if the Matrix room name starts with this prefix, it will be labeled with thecanonical-dm
label. Defaults to""
.BridgeIfMembersLessThan
--- if not-1
, only bridge conversations where the member count in the room is less than this. Defaults to-1
.RenderMarkdown
---true
orfalse
indicating whether or not to convert the Chatwoot markdown to Matrix HTML.
Webhook Listener Settings
ListenPort
* --- the port to listen for webhook events on