Based on https://github.com/turt2live/matrix-dimension > An open source integration manager for matrix clients, like Element. "Dimension" is one of the integration managers, and it is not something like Dimension Integration Manager, which could be abbreviated as DIM. Also: - Replace "integrations manager" with "integration manager" - Fix typos - Remove a line break Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
3.2 KiB
Setting up Appservice Webhooks (optional)
The playbook can install and configure matrix-appservice-webhooks for you.
Note: This bridge is no longer maintained. While not a 1:1 replacement, the bridge's author suggests taking a look at matrix-hookshot as a replacement, which can also be installed using this playbook.
This bridge provides support for Slack-compatible webhooks.
Setup Instructions:
loosely based on this
- All you basically need is to adjust your
inventory/host_vars/matrix.example.com/vars.yml
:
matrix_appservice_webhooks_enabled: true
matrix_appservice_webhooks_api_secret: '<your_secret>'
- In case you want to change the verbosity of logging via
journalctl -fu matrix-appservice-webhooks.service
you can adjust this ininventory/host_vars/matrix.example.com/vars.yml
as well.
Note: default value is: info
and availabe log levels are : info
, verbose
matrix_appservice_webhooks_log_level: '<log_level>'
- As of Synapse 1.90.0, you will need to add the following to
matrix_synapse_configuration_extension_yaml
to enable the backwards compatibility that this bridge needs:
matrix_synapse_configuration_extension_yaml: |
use_appservice_legacy_authorization: true
Note: This deprecated method is considered insecure.
-
If you've already installed Matrix services using the playbook before, you'll need to re-run it (
--tags=setup-all,start
). If not, proceed with configuring other playbook services and then with Installing. Get back to this guide once ready. -
If you're using the Dimension integration manager, you can configure the Webhooks bridge by opening the Dimension integration manager -> Settings -> Bridges and selecting edit action for "Webhook Bridge". Press "Add self-hosted Bridge" button and populate "Provisioning URL" & "Shared Secret" values from
/matrix/appservice-webhooks/config/config.yaml
file's homeserver URL value and provisioning secret value, respectively. -
Invite the bridge bot user to your room:
-
either with
/invite @_webhook:example.com
(Note: Make sure you have administration permissions in your room) -
or simply add the bridge bot to a private channel (personal channels imply you being an administrator)
-
-
Send a message to the bridge bot in order to receive a private message including the webhook link.
!webhook
- The JSON body for posting messages will have to look like this:
{
"text": "Hello world!",
"format": "plain",
"displayName": "My Cool Webhook",
"avatar_url": "http://i.imgur.com/IDOBtEJ.png"
}
You can test this via curl like so:
curl --header "Content-Type: application/json" \
--data '{
"text": "Hello world!",
"format": "plain",
"displayName": "My Cool Webhook",
"avatar_url": "http://i.imgur.com/IDOBtEJ.png"
}' \
<the link you've gotten in 5.>