# Hookshot

This page shows you how to set up Hookshot using Cinny client app (available as an add-on component).

## Overview

Hookshot supports integration with popular software project management services such as [GitHub](https://github.com), [GitLab](https://gitlab.com), [JIRA](https://www.atlassian.com/software/jira), and [Figma](https://www.figma.com/), as well as [generic webhooks](https://en.wikipedia.org/wiki/Webhook).

Below we describe the basic Hookshot usage for:

- creating webhooks to receive data in Matrix rooms
- subscribing to RSS/Atom feeds to receive updates in Matrix rooms

## Usage

To use the bot, start a chat with `@hookshot:your-server.com`. You can also add the bot to any existing Matrix room by inviting it to the room (`/invite @hookshot:your-server.com`).

**Make sure to replace `your-server.com` with your actual “base domain”.** Setting `your-server.com` or `example.com` does not work on your server!

![Invitation dialog](https://etke.cc/help/bridges/hookshot/images/1.webp)

When it joins, make sure the bot is able to send state events (usually the Moderator power level in clients). On Cinny you can change the power level on the room configuration dialog.

![Power level configuration UI](https://etke.cc/help/bridges/hookshot/images/2.webp)

You can send `!hookshot help` to the bot in the room to check instructions.

![Help message by the Hookshot bot](https://etke.cc/help/bridges/hookshot/images/3.webp)

### Webhooks

To register a webhook, send a `!hookshot webhook WEBHOOK_NAME_HERE` room message. You will then receive a link for the webhook in a private message. If there is not a room for one, you will receive the invite from the bot.

![Invite from the Hookshot bot](https://etke.cc/help/bridges/hookshot/images/4.webp)

You can specify the URL to external systems which support webhooks.

To verify that the webhook link works or to make use of it from your own systems, send a new message via the webhook link. You will need to send a JSON body payload, which looks like this:

```json
{
    "text": "Hello world!",
    "username": "MyBot"
}
```

You can confirm the webhook was properly configured by using `curl` as below:

```sh
curl --header "Content-Type: application/json" \
--data '{
"text": "Hello world!",
"username": "MyBot"
}' \
THE_WEBHOOK_LINK_YOU_RECEIVED_EARLIER
```

You should receive the message in the room from the user `MyBot` invited by the Hookshot’s bot:

![Message from “MyBot” in the room](https://etke.cc/help/bridges/hookshot/images/5.webp)

For more information about webhook payloads and handling, see the [Hookshot documentation about Webhooks](https://matrix-org.github.io/matrix-hookshot/latest/setup/webhooks.html).

### Feeds (RSS, Atom)

To register a new URL feed, send a `!hookshot feed URL_HERE` message after replacing `URL_HERE` with the URL which points to an [RSS](https://en.wikipedia.org/wiki/RSS) or [Atom](https://en.wikipedia.org/wiki/Atom_%28web_standard%29) feed.

To list feeds that the bot currently subscribes to, send `!hookshot feed list` in the room.

To remove feeds from the list, send `!hookshot feed remove URL_HERE` in the room.

For more information about feed management, see the [Hookshot documentation about feeds](https://matrix-org.github.io/matrix-hookshot/latest/setup/feeds.html).



---
* [llms.txt](https://etke.cc/llms.txt): full site index in markdown
