2024-10-26 14:47:16 +00:00
# Setting up Appservice Webhooks bridging (optional, deprecated)
2020-01-10 13:53:33 +00:00
2024-10-27 15:58:10 +00:00
**Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot ](https://github.com/matrix-org/matrix-hookshot ) as a replacement, which can also be installed using [this playbook ](configuring-playbook-bridge-hookshot.md ). Consider using that bridge instead of this one.
2020-01-10 13:53:33 +00:00
2024-10-26 12:34:25 +00:00
The playbook can install and configure [matrix-appservice-webhooks ](https://github.com/turt2live/matrix-appservice-webhooks ) for you. This bridge provides support for Slack-compatible webhooks.
2020-01-14 14:02:37 +00:00
2024-11-29 15:52:28 +00:00
See the project's [documentation ](https://github.com/turt2live/matrix-appservice-webhooks/blob/master/README.md ) to learn what it does and why it might be useful to you.
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
## Adjusting the playbook configuration
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
To enable the bridge, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
2020-01-14 13:55:56 +00:00
2024-11-29 15:52:28 +00:00
```yaml
matrix_appservice_webhooks_enabled: true
matrix_appservice_webhooks_api_secret: '< your_secret > '
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
# Uncomment to increase the verbosity of logging via `journalctl -fu matrix-appservice-webhooks.service`
# matrix_appservice_webhooks_log_level: 'verbose'
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
# As of Synapse 1.90.0, uncomment to enable the backwards compatibility (https://matrix-org.github.io/synapse/latest/upgrade#upgrading-to-v1900) that this bridge needs.
# Note: This deprecated method is considered insecure.
#
# matrix_synapse_configuration_extension_yaml: |
# use_appservice_legacy_authorization: true
```
2020-01-14 13:55:56 +00:00
2024-11-29 15:52:28 +00:00
## Installing
2020-01-10 13:53:33 +00:00
2024-12-01 07:42:30 +00:00
After configuring the playbook, run it with [playbook tags ](playbook-tags.md ) as below:
2024-10-24 17:30:02 +00:00
2024-12-01 07:42:30 +00:00
<!-- NOTE: let this conservative command run (instead of install - all) to make it clear that failure of the command means something is clearly broken. -->
2024-11-29 15:52:28 +00:00
```sh
2024-12-01 07:42:30 +00:00
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,ensure-matrix-users-created,start
2024-11-29 15:52:28 +00:00
```
2024-10-24 17:30:02 +00:00
2024-12-01 07:42:30 +00:00
**Notes**:
- The `ensure-matrix-users-created` playbook tag makes the playbook automatically create the bot's user account.
Edit installing instructions (#3844)
* Replace "just run-tags install-all/setup-all,start" with "just install-all/setup-all"
Thanks to the tip by Slavi that the overhead of ensure-matrix-users-created is negligible.
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
* Edit installing instructions
- Move the anchor links to docs/just.md
- Add note about running "ensure-matrix-users-created" tags, if ansible-playbook's tags not "setup-all,ensure-matrix-users-created,start", ie. either "setup-all,start", "setup-email2matrix,start", "setup-aux-files,setup-corporal,start", or "setup-matrix-user-verification-service,start"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
* Update descriptions about installation
- Introduce the most conservative and stable raw ansible-playbook command.
- Introduce the just commands on installing.md and maintenance-upgrading-services.md, not on quick-start.md, since it is too early for quick start guide readers who are just starting to climb learning curve to use the shortcuts.
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
* Update docs/configuring-playbook-etherpad.md: remove the note about ensure-matrix-users-created
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
---------
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-01 15:04:54 +00:00
- The shortcut commands with the [`just` program ](just.md ) are also available: `just install-all` or `just setup-all`
2024-12-01 07:42:30 +00:00
Edit installing instructions (#3844)
* Replace "just run-tags install-all/setup-all,start" with "just install-all/setup-all"
Thanks to the tip by Slavi that the overhead of ensure-matrix-users-created is negligible.
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
* Edit installing instructions
- Move the anchor links to docs/just.md
- Add note about running "ensure-matrix-users-created" tags, if ansible-playbook's tags not "setup-all,ensure-matrix-users-created,start", ie. either "setup-all,start", "setup-email2matrix,start", "setup-aux-files,setup-corporal,start", or "setup-matrix-user-verification-service,start"
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
* Update descriptions about installation
- Introduce the most conservative and stable raw ansible-playbook command.
- Introduce the just commands on installing.md and maintenance-upgrading-services.md, not on quick-start.md, since it is too early for quick start guide readers who are just starting to climb learning curve to use the shortcuts.
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
* Update docs/configuring-playbook-etherpad.md: remove the note about ensure-matrix-users-created
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
---------
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
Co-authored-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-01 15:04:54 +00:00
`just install-all` is useful for maintaining your setup quickly when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all` , or these components will still remain installed.
2024-12-01 07:42:30 +00:00
2024-11-29 15:52:28 +00:00
## Usage
2023-08-25 12:53:28 +00:00
2024-11-29 15:52:28 +00:00
Invite the bridge bot user to your room in either way.
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
- Send `/invite @_webhook:example.com` (**Note**: Make sure you have administration permissions in your room)
- Add the bridge bot to a private channel (personal channels imply you being an administrator)
2020-02-20 05:11:19 +00:00
2024-11-29 15:52:28 +00:00
You then need to send a message to the bridge bot in order to receive a private message including the webhook link:
2020-01-14 13:55:56 +00:00
2024-11-29 15:52:28 +00:00
```
!webhook
```
2020-01-14 13:55:56 +00:00
2024-11-29 15:52:28 +00:00
The JSON body for posting messages will have to look like this:
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
```json
{
"text": "Hello world!",
"format": "plain",
"displayName": "My Cool Webhook",
"avatar_url": "http://i.imgur.com/IDOBtEJ.png"
}
```
2024-10-24 17:30:02 +00:00
2024-11-29 15:52:28 +00:00
You can test this via curl like so:
2020-01-10 13:53:33 +00:00
2024-11-29 15:52:28 +00:00
```sh
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 webhook link you ' ve gotten from the bridge bot >
```
2024-10-24 17:30:02 +00:00
2024-11-29 15:52:28 +00:00
### Setting Webhooks with Dimension integration manager
2024-10-24 17:30:02 +00:00
2024-11-29 15:52:28 +00:00
If you're using the [Dimension integration manager ](configuring-playbook-dimension.md ), you can configure the Webhooks bridge with it.
2024-10-24 17:30:02 +00:00
2024-11-29 15:52:28 +00:00
To configure it, open the Dimension integration manager, and go to "Settings" and "Bridges", then select edit action for "Webhook Bridge".
On the UI, press "Add self-hosted Bridge" button and populate "Provisioning URL" and "Shared Secret" values from `/matrix/appservice-webhooks/config/config.yaml` file's homeserver URL value and provisioning secret value, respectively.