RocketChat / RocketChat/Rocket.Chat
[Bug] Incoming Webhook broken
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
Since upgrading to 3.16+ it seems some Slack-compatible Incoming Webhooks seem to not work any more. There isn't much detail other than what I can provide below with screenshots and relevant logs.
Steps to reproduce:
- Setup Channel and add user(s) to Channel
- Setup Integration to use that channel
- Copy Webhook URL to app to send webhooks to Rocket.Chat
Expected behavior:
Webhook post content to channel
Actual behavior:
No content shows
Server Setup Information:
- Version of Rocket.Chat Server: 3.18.1
- Operating System: Ubuntu 18.04
- Deployment Method: docker
- Number of Running Instances: 1
- DB Replicaset Oplog: Enabled
- NodeJS Version: v12.22.1
- MongoDB Version: 4.0.17 / mmapv1 (oplog Enabled)
Client Setup Information
- Desktop App or Browser Version: Latest Linux Electron App
- Operating System: Pop!_OS!
Additional context


Relevant logs:
I20210915-14:57:17.184(0) Integrations ➔ Incoming WebHook.info Post integration: SupportPal Dev
I20210915-14:57:17.186(0) Integrations ➔ Incoming WebHook.debug @urlParams: { integrationId: 'AfWf54ZnXqAJf6nWF', token: 'nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8' }
I20210915-14:57:17.187(0) Integrations ➔ Incoming WebHook.debug @bodyParams: {}
I20210915-14:57:17.188(0) API ➔ debug Success { statusCode: 200, body: { success: true } }
I20210915-14:57:17.189(0) API ➔ info 10.200.X.XXX - aDFNiCQWGwZX7ATD9 [2021-09-15T14:57:17.188Z] "POST /hooks/AfWf54ZnXqAJf6nWF/nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8" 200 - "undefined" "GuzzleHttp/6.5.5 curl/7.58.0 PHP/7.2.24-0ubuntu0.18.04.8" |
I20210915-14:57:23.792(0) API ➔ debug Success { statusCode: 200, body: { queue: [ [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], [Object], ... 900 more items ], success: true } }
I20210915-14:58:37.488(0) Integrations ➔ Incoming WebHook.info Post integration: SupportPal Dev
I20210915-14:58:37.489(0) Integrations ➔ Incoming WebHook.debug @urlParams: { integrationId: 'AfWf54ZnXqAJf6nWF', token: 'nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8' }
I20210915-14:58:37.490(0) Integrations ➔ Incoming WebHook.debug @bodyParams: {}
I20210915-14:58:37.491(0) API ➔ debug Success { statusCode: 200, body: { success: true } }
I20210915-14:58:37.492(0) API ➔ info 10.200.X.XXX - aDFNiCQWGwZX7ATD9 [2021-09-15T14:58:37.491Z] "POST /hooks/AfWf54ZnXqAJf6nWF/nN2stSRrpENZdRzD3birmM28qT9WGTeKTvScf7HBDFQhAoc8" 200 - "undefined" "GuzzleHttp/6.5.5 curl/7.58.0 PHP/7.2.24-0ubuntu0.18.04.8" |
I20210915-14:59:00.239(0) SyncedCron ➔ info Starting "Federation".
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the POST to the /hooks/{integrationId}/{token} endpoint using the server setup described, and inspect the Incoming WebHook logs where bodyParams is empty despite a successful response. Trace why the webhook payload is not posted to the configured channel; done means a Slack-compatible webhook's content appears in that channel.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, mongodb, node.js, typescript
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100