You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-docker-ansible-deploy/docs/configuring-playbook-bridge...

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

  1. All you basically need is to adjust your inventory/host_vars/matrix.<domain-name>/vars.yml:
matrix_appservice_webhooks_enabled: true
matrix_appservice_webhooks_api_secret: '<your_secret>'
  1. In case you want to change the verbosity of logging via journalctl -fu matrix-appservice-webhooks.service you can adjust this in inventory/host_vars/matrix.<domain-name>/vars.yml as well.

Note: default value is: info and availabe log levels are : info, verbose

matrix_appservice_webhooks_log_level: '<log_level>'
  1. 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.

  1. 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.

  2. 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.

  3. Invite the bridge bot user to your room:

    • either with /invite @_webhook:<domain.name> (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)

  4. Send a message to the bridge bot in order to receive a private message including the webhook link.

!webhook
  1. 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.>