API to Insert/Modify Conversation Messages for Human-AI Hybrid Customer Service Agent #20185

Closed
opened 2026-02-21 20:06:12 -05:00 by yindo · 1 comment
Owner

Originally created by @joneqian on GitHub (Nov 6, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • Please do not modify this template :) and fill in all the required fields.

1. Is this request related to a challenge you're experiencing? Tell me about your story.

I am currently developing a customer service agent based on Dify that combines human and AI interactions. The specific scenario is as follows:

After an employee account bound to the agent has chatted with a customer for a while, manual intervention is needed. At this point, the agent is disabled and the employee interacts with the customer directly. After some time, the agent is re-enabled to continue interacting with the customer.

Problem:
Since the chat records between the employee and the customer are not sent to the agent, the agent lacks this portion of the conversation history. When the agent re-engages, there is a gap in the historical messages.

Question:
Is there an API available to directly manipulate conversation messages, allowing us to insert or modify messages in the conversation history?

2. Additional context or comments

No response

3. Can you help us with this feature?

  • I am interested in contributing to this feature.
Originally created by @joneqian on GitHub (Nov 6, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] Please do not modify this template :) and fill in all the required fields. ### 1. Is this request related to a challenge you're experiencing? Tell me about your story. I am currently developing a customer service agent based on Dify that combines human and AI interactions. The specific scenario is as follows: After an employee account bound to the agent has chatted with a customer for a while, manual intervention is needed. At this point, the agent is disabled and the employee interacts with the customer directly. After some time, the agent is re-enabled to continue interacting with the customer. Problem: Since the chat records between the employee and the customer are not sent to the agent, the agent lacks this portion of the conversation history. When the agent re-engages, there is a gap in the historical messages. Question: Is there an API available to directly manipulate conversation messages, allowing us to insert or modify messages in the conversation history? ### 2. Additional context or comments _No response_ ### 3. Can you help us with this feature? - [ ] I am interested in contributing to this feature.
yindo added the 💪 enhancement🤖 feat:agent labels 2026-02-21 20:06:12 -05:00
yindo closed this issue 2026-02-21 20:06:13 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Nov 6, 2025):

Dify does not currently provide an API to insert or modify conversation messages in the chat history—existing endpoints only support listing, retrieving, and submitting feedback for messages, not direct manipulation of the history see source. This limitation is recognized by the community and maintainers, and there is an open feature request for this capability see issue #27945.

Some users have tried workarounds, like using the inputs field when creating messages, but this can lead to inconsistencies between your backend and Dify’s internal history see discussion. For now, you may need to maintain a parallel log of manual interactions and summarize or inject context when re-enabling the agent.

If you’re interested in contributing, this feature is marked as “help wanted” and is actively tracked by the community. You can monitor progress or propose solutions in the relevant GitHub issue.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Nov 6, 2025): <!-- Answer --> Dify does not currently provide an API to insert or modify conversation messages in the chat history—existing endpoints only support listing, retrieving, and submitting feedback for messages, not direct manipulation of the history [see source](https://github.com/langgenius/dify/blob/37903722fe3583cd82addb804e57b1dcdd959e4b/api/controllers/service_api/app/message.py#L23-L176). This limitation is recognized by the community and maintainers, and there is an open feature request for this capability [see issue #27945](https://github.com/langgenius/dify/issues/27945). Some users have tried workarounds, like using the `inputs` field when creating messages, but this can lead to inconsistencies between your backend and Dify’s internal history [see discussion](https://github.com/langgenius/dify/issues/20233). For now, you may need to maintain a parallel log of manual interactions and summarize or inject context when re-enabling the agent. If you’re interested in contributing, this feature is marked as “help wanted” and is actively tracked by the community. You can monitor progress or propose solutions in the relevant GitHub issue. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/a4fbf843-1c1c-49d3-b829-d6b79f34c7e4?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/27945)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#20185