[GH-ISSUE #2164] Slack Webhook Support #6568

Open
opened 2026-04-20 17:09:53 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @mubix on GitHub (Jan 27, 2026).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/2164

Description

I could be doing something wrong but currently the webhooks as written don't support the Slack Incoming-Webhook integration. I get the following error when trying to use it.

vikunja-1  | time=2026-01-27T02:50:22.640Z level=ERROR msg="Got response with status 400 from webhook 2: missing_text_or_fallback_or_attachments"

Which alternatives did you consider using instead?

Not sure there are alternatives.

Originally created by @mubix on GitHub (Jan 27, 2026). Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/2164 ### Description I could be doing something wrong but currently the webhooks as written don't support the Slack Incoming-Webhook integration. I get the following error when trying to use it. ``` vikunja-1 | time=2026-01-27T02:50:22.640Z level=ERROR msg="Got response with status 400 from webhook 2: missing_text_or_fallback_or_attachments" ``` ### Which alternatives did you consider using instead? Not sure there are alternatives.
GiteaMirror added the integration/outboundarea/webhooks labels 2026-04-20 17:09:53 -05:00
Author
Owner

@kolaente commented on GitHub (Jan 27, 2026):

Webhooks in Vikunja are outgoing only. If you want to have something incoming, you'll need to add a translation layer with something custom or n8n.

<!-- gh-comment-id:3803665466 --> @kolaente commented on GitHub (Jan 27, 2026): Webhooks in Vikunja are outgoing only. If you want to have something incoming, you'll need to add a translation layer with something custom or n8n.
Author
Owner

@mubix commented on GitHub (Feb 2, 2026):

Makes sense, thanks. Just to avoid terminology confusion: Slack calls the integration “Incoming Webhook,” but the flow is still outgoing from Vikunja → incoming to Slack. The current mismatch is in payload format: Slack requires text or blocks/attachments, but Vikunja emits its standard webhook schema, so Slack 400s with missing_text_or_fallback_or_attachments. I can absolutely add a translation layer (n8n/custom), but the request here is whether Vikunja could optionally offer (a) Slack-specific formatting, or (b) a basic templating feature for webhook bodies/headers so users can adapt to strict receivers.

<!-- gh-comment-id:3833818138 --> @mubix commented on GitHub (Feb 2, 2026): Makes sense, thanks. Just to avoid terminology confusion: Slack calls the integration “Incoming Webhook,” but the flow is still outgoing from Vikunja → incoming to Slack. The current mismatch is in payload format: Slack requires text or blocks/attachments, but Vikunja emits its standard webhook schema, so Slack 400s with `missing_text_or_fallback_or_attachments`. I can absolutely add a translation layer (n8n/custom), but the request here is whether Vikunja could optionally offer (a) Slack-specific formatting, or (b) a basic templating feature for webhook bodies/headers so users can adapt to strict receivers.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#6568