Skip to main content

Main navigation

Start for freeLog in
Connect your toolsNotificationsSlackDiscord

Connect Slack and Discord notifications

Register a notification URL in project settings and important changes are delivered to your team channel.

about 6 min Updated October 13, 2026

Connect Slack or Discord

1

Get a notification URL

In Slack, go to channel settings → Apps → Incoming Webhooks; in Discord, go to Edit Channel → Integrations → New Webhook. Create and copy the webhook URL for the channel that will receive the messages.

2

Register it in project settings

In Tabple project settings > Apps & integrations, click Register webhook directly, then Add integration, choose Slack, Discord, or Webhook, and paste the URL. The name is optional. Installing the Slack, Discord, or Generic webhook app from the marketplace creates the same kind of integration.

NOTEOnly a project Owner or Admin can register webhooks and install apps.
CAUTIONFor security, only public HTTPS addresses can be used.
3

Choose notification types

Under Notification events, pick only the events you want. There's Chat (chat message, chat mention) and Tasks & more (task created, moved, completed, and deleted, assignee set, comment posted, app installed and removed). In Register webhook directly, task created, moved, completed, comment posted, and chat message are selected to start with.

TIPAfter you add it, use Test in the list to check the connection. The switch turns it off for a while.

Events that are sent

  • task.created — a new task is created (one per occurrence when you create a recurring schedule)
  • task.moved — a task moves column (includes the previous and new column names; dragging on the board and bulk moves count too)
  • task.completed — a task reaches a done column
  • task.assigned — someone new is assigned (one per newly assigned person, with their name)
  • task.deleted — a task is deleted (bulk deletes send one per task)
  • comment.created — a new comment on a task (includes the start of the comment)
  • chat.message / chat.mention — a chat message or mention posted in a channel (thread replies aren't sent)
  • app.installed / app.uninstalled — an app is installed in or removed from this project

Connect your own system

1

Payload format

Register it as the Webhook type and you receive a JSON POST body for every event. One request carries the event type (event), the project, who did it, the task, comment, or chat details, and a timestamp. Automation tools such as Zapier, Make, and n8n connect this way too.

POST <your-webhook-url>json
{
  "event": "task.completed",
  "project": { "id": 12, "name": "Marketing Sprint" },
  "actor":   { "id": 7, "name": "Geun" },
  "task":    { "id": 4521, "title": "랜딩 카피 검토", "priority": "high",
               "url": "https://tabple.com/projects/12/board?task=4521" },
  "from":    { "name": "진행 중" },
  "to":      { "name": "완료" },
  "timestamp": "2026-05-05T08:21:11.302Z"
}
2

Delivery failures

If the receiver doesn't answer within 5 seconds or returns an error, Tabple tries again after 2 seconds and 8 seconds — up to 3 attempts in all, including the first. 4xx errors other than 429 aren't retried, because sending again would get the same answer. Work in Tabple continues even if delivery finally fails. Open the delivery log under project settings > Apps & integrations > Installed apps to see the latest 50 events with their status, attempts, and response code; delivery logs are kept for 30 days.

NOTEFor automation that matters, start with a reliable channel such as Slack or Discord. Retries in progress can be cut off when the server restarts, for example during a deployment.
3

Verify the signature

If you fill in Signing secret (optional) when you install a webhook app from the marketplace, every request carries X-Tabple-Timestamp (Unix seconds) and X-Tabple-Signature headers. The signature is v1= followed by the hex HMAC-SHA256 of the string <timestamp>.<raw body>, with the secret as the key.

NOTESlack and Discord don't verify signatures, so the secret can stay empty. It's the same scheme chat bots use — see Build a webhook bot server for a code example.
CAUTIONThe receiver should reject a request whose timestamp is more than 5 minutes from the current time, and must compute the signature from the raw body it received, not from re-serialized JSON.