Connect Slack and Discord notifications
Register a notification URL in project settings and important changes are delivered to your team channel.
Connect Slack or Discord
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.
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.
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.
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
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.
{
"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"
}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.
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.