Website Chatbot history to teams
Describe the problem/error/question
Hi All! I build a chatbot with a webhook to my wordpress/Elementor website. So far so good, all is working fine. The issue is when I add a Microsoft Teams send message (channel) node. The output to Teams is doing exactly what i’m asking but the chat conversation give me “@odata.context”: "https://graph.microsoft.com/beta/$metadata#teams(‘3c705e68-bb27-4fff-acb1-b98802e027e0’)/channels(… instead of the prompt.
I know adding the Teams node is corrupting the chat prompt but I do not know how to not make it corrupt.
What is the error message (if any)?
Please share your workflow
Share the output returned by the last node
Someone is using the Chatbot 2026-05-05T16:02:37.757-04:00
Powered by this n8n workflow
Information on your n8n setup
- n8n version:
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app):
- Operating system:
This usually happens because the last node output sent back to the chat UI becomes the Microsoft Teams API response, not the assistant/user-facing message. The `@odata.context` value is Graph returning the Teams send result, so your frontend is probably reading the wrong branch/item after the Teams node.
I would split the flow right after the chatbot/agent step:
1. keep `chat_reply` as the exact string that returns to the website chat;
2. send a separate Teams payload with the transcript/message text;
3. merge back, or explicitly finish with the node that returns only `chat_reply` to your chat widget.
For the Teams node, map the body/content from that saved string, not the whole previous JSON item. If you share a redacted workflow JSON, I can wire the branch cleanly, add the Teams transcript payload, and leave a tiny before/after test set so the website chat keeps answering normally. My email is oimrqs.ops@gmail.com if you want me to take it from the broken workflow.
welcome to the n8n community @rampagemaxx
I’d keep the Teams message on a separate branch and make the website chat branch end with the assistant reply, so the Teams API response never becomes the final output returned to Elementor.
Hi @rampagemaxx Welcome! the chat widget returns whatever the LAST node outputs, so Teams’ @odata.context response replaces the AI text. drop a Set node after Create message that re-emits the AI Agent output, then the bot speaks again:
wire Create message → Return AI Output and you’re set.
This is exactly it! Thank you very much!