#plugin nextcloud-talk: duplicate plugin id detected; later plugin may be overridden

1 messages · Page 1 of 1 (latest)

meager echoBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

winged kindleBOT
#

Yep — on 2026.3.13, nextcloud-talk is already a bundled plugin.
So running openclaw plugins install @openclaw/nextcloud-talk can create a second copy with the same plugin ID, which triggers that duplicate warning.

Use the bundled one instead:

pnpm openclaw plugins uninstall nextcloud-talk --force
pnpm openclaw plugins enable nextcloud-talk
pnpm openclaw gateway restart
pnpm openclaw plugins list --verbose

After cleanup, nextcloud-talk should appear once with source like stock:nextcloud-talk/....

Docs:

#

If it still warns after that, paste:

pnpm openclaw plugins doctor
pnpm openclaw plugins list --verbose

and I’ll help you pinpoint the remaining duplicate path.

dire robin
#

Ok that fixes that.
Next, what is the nextcloud command to add the bot to nextcloud... I've read conflicting documentation.
Which do I use for the bundled nextcloud-talk

dire robin
#

Poke. Which do I use for the bundled nextcloud-talk?

winged kindleBOT
#

You use the same Nextcloud OCC command either way — bundled vs npm only changes OpenClaw install source, not Nextcloud setup.

Use this on your Nextcloud server:

./occ talk:bot:install "OpenClaw" "<shared-secret>" "<webhook-url>" --feature reaction

(Equivalent form: php occ talk:bot:install ...)

For OpenClaw, make sure bundled plugin is enabled + configured:

pnpm openclaw plugins enable nextcloud-talk
#
{
channels: {
"nextcloud-talk": {
enabled: true,
baseUrl: "https://cloud.example.com",
botSecret: "<same-shared-secret>"
}
}
}

Then restart gateway and enable the bot in the target Nextcloud Talk room settings.

If you want, I can give you the exact <webhook-url> format for your host/proxy setup.

dire robin
#

Is there a non-webhook version that is supported?

winged kindleBOT
#

Short answer: no, not currently.

For Nextcloud Talk, OpenClaw supports only the webhook bot integration right now (that occ talk:bot:install ... <webhook-url> flow). There isn’t a supported non-webhook / polling mode at the moment.

Docs: https://docs.openclaw.ai/channels/nextcloud-talk

If you want, I can help sanity-check your webhook URL/path so you don’t hit the usual proxy/reachability pitfalls.

dire robin
winged kindleBOT
#

Yep, that’s the right command shape ✅

occ talk:bot:install "Jarvis" "<key>" "http://192.168.45.96:8788/nextcloud-talk-webhook" --feature reaction

Two quick gotchas:

  1. Quote the key ("<key>") so shell chars don’t break it.
  2. The URL must be reachable from your Nextcloud server (not just your browser).

If Nextcloud can’t reach that LAN IP, use a public/reverse-proxy URL and set:

  • channels.nextcloud-talk.webhookPublicUrl to that external URL.

If you want, paste your channels.nextcloud-talk config (redact secrets) and I’ll sanity-check it.

dire robin
#

Ok so I have this in the config.. restarted the gateway:

"channels": {
"nextcloud-talk": {
"enabled": true,
"baseUrl": "https://cloud.example.org",
"botSecret": "secretkey",
"dmPolicy": "pairing",
},

I get this in the nextcloud logs:

POST http://192.168.45.96:8788/nextcloud-talk-webhook resulted in a 400 Bad Request response: {"error":"Invalid payload format"}

winged kindleBOT
#

Your config snippet looks fine.

That specific 400 {"error":"Invalid payload format"} right after adding the bot is usually the Join event (bot-added event), not a normal chat message.
Nextcloud sends a different shape for Join, and current parser is strict there.

So:

  1. Keep current config.
  2. Send a normal text message in the room to the bot.
  3. If normal messages work, you can ignore that one-time 400 from bot-add.

If you get the same 400 for every normal chat message, then we need versions + payload shape (likely NC Talk format mismatch). Please share:

  • Nextcloud version
  • Talk (spreed) app version
  • Output of pnpm openclaw --version (already 2026.3.13 👍)