# Send events to your own systems with webhooks > Tell another system when an activity is published or an attempt is finished. A webhook tells one of your own systems that something happened in Taktyl, a moment after it happens. Webhooks come with every paid plan. ## What Taktyl sends - `activity.published`: a version of an activity was published. Publishing again sends another, with the new version number. - `attempt.submitted`: an attempt was finished, by its last answer, by **Finish**, or by the hand-in at the close. Each attempt sends its own. An event says what happened and when, with ids: the activity, its workspace, the attempt and the version. It never carries a name, an email address, an answer or a mark. If your system needs more, it can ask the Data API. ## Add an address 1. Go to **Organisation › Integrations** and open **Webhooks**. 2. Press **Add an address**. 3. Paste the address of the system that receives events. It must be a public `https://` address. 4. Tick the events to send, and leave **Send events** ticked. 5. Press **Add the address**, then **Copy** its signing secret. Taktyl shows it only once. You can add up to five addresses. A new address is sent only what happens from then on. ## Check that a delivery came from Taktyl Each delivery is a `POST` of JSON with a `Taktyl-Signature` header: `t=` the time it was sent, and `v1=` an HMAC-SHA256, in hex, of the time, a full stop and the raw body, made with the address's signing secret. Your system works out the same value and compares. A delivery can arrive more than once, so use each event's `id` to spot a repeat. ## When something goes wrong - **Send a test event** sends one made-up event now and tells you whether it was accepted. - **Deliveries** lists the newest sends: when, which events, the address, and whether it was accepted. - If an address does not accept a delivery, Taktyl tries again later, waiting longer each time, up to an hour. The other addresses carry on. - **New secret** makes a new signing secret. The old one stops working at once. - **Edit** changes the address or its events, or switches it off. While it is off nothing is sent, not even what happens in the meantime. - **Remove** stops events going to the address for good. The sends already listed stay.