I am not sure where I should be posting this, but I couldn’t find a widely available endpoint for bots to post to talk.
I managed to put this together: https://github.com/Mr-Newlove/nc_bot_webhooks
Looking for feedback and suggestions to how I can make it a bit more robust into the future and for anyone else looking for something similar.
Thanks
wwe
June 16, 2026, 7:19am
2
sounds nice, especially the doc is outstanding - would be great other apps would do it same way
Just for the reference it is possible to post into Talk without additional apps using curl or any other tool
Yea! Curl can easily send a message like this:
Bash examples
Text-only notification (JSON):
curl -X POST "https://<your-nextcloud-server>/apps/nc_bot_webhooks/apprise-webhook/<room-token>/notify/<auth-token>" \
-H "Content-Type: application/json" \
-d '{
"version": 0,
"subject": "Build Complete",
"body": "Successfully deployed to production",
"type": "info"
}'
Text-only notification (form-encoded):
curl -X POST "https://<your-nextcloud-server>/apps/nc_bot_webhooks/apprise-webhook/<room-token>/notify/<auth-token>" \
-d "subject=Build Complete" \
-d "body=Successfully deployed to production" \
-d "type=info"
With a remote image attachment:
curl -X POST "https://<your-nextcloud-server>/apps/nc_bot_webhooks/apprise-webhook/<room-token>/notify/<auth-token>" \
-H "Content-Type: application/json" \
-d '{
"version": 0,
"subject": "Camera Snapshot",
"body": "Motion detected at front door",
"type": "info",
"attachments": [
{ "path": "https://nextcloud.com/c/uploads/2026/04/Nextcloud-10-anniversary-logo.png" }
]
}'
The app downloads the image, uploads it to the bot user’s storage, creates a public link, and embeds it inline in the Talk message.
With a local file (multipart/form-data):
curl -X POST "https://<your-nextcloud-server>/apps/nc_bot_webhooks/apprise-webhook/<room-token>/notify/<auth-token>" \
-F "subject=Camera Snapshot" \
-F "body=Motion detected at front door" \
-F "type=image" \
-F "file01=@/path/to/snapshot.jpg"
I will add that to to the doc.
I definitely misread that in my early morning haze.
Yea this bot ends up the /ocs/v2.php/apps/spreed/api/v1/chat/{roomToken} endpoint. But I have a lot of legacy systems that expect either apprise or discord-like destinations.
wwe
June 16, 2026, 8:18pm
5
I see my post was not really clear as well - I changed the wording a bit.
but it looks your app is much more powerful (or at least I never bother to find out the right json format to post “rich” format, pictures and hyperlinks)
Pictures were particularly difficult, probably 60% of the time I spent on this was to get photos from URLS or embeded data functioning.