View as Markdown
Dify icon

Dify ACTION

List Messages

Return a Dify Chatflow, Chatbot, Agent, or Legacy Agent conversation's message history. The first call returns the latest messages; page backward into older ones with First Message ID. Use List Conversations to find a Conversation ID. Each message includes the query/answer pair, so this is how an agent reconstructs prior turns of a conversation instead of relying on its own memory. By default each message is trimmed to id, conversation_id, query, answer, status, error, feedback, and created_at; set Include Full Details to also get retrieved knowledge-base passages (retriever_resources), agent reasoning (agent_thoughts), files, and token usage. Example: Conversation ID 45701982-8118-4bc5-8e9b-64562b4555f2, User user-123 → { data: [{ id, conversation_id, query: "What are the specs of the iPhone 13 Pro Max?", answer: "...", status: "normal", feedback: { rating: "like" }, created_at }], has_more: true, limit: 20 }. If has_more is true, call again with First Message ID set to the id of the first message in data to get older messages. See the documentation
  • Action
  • Read only
  • API key
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Dify account once, then configure and run List Messages from your backend or agent.

import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "dify-list-messages",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    dify: { authProvisionId: "apn_xxxxxxx" },
    conversationId: "Conversation ID",
    user: "User",
  },
})

console.log(result)

SCHEMA

Inputs

Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.

List Messages inputs
Property Type Description
conversationId Conversation ID string
The ID of the conversation to read. Use List Conversations to find valid IDs.
Required
user User string
A unique identifier for the end user, defined by you (e.g. an internal user ID or session ID) — not a Dify account. Dify scopes conversations, messages, and files to this value, so reuse the same User across requests for the same end user. When reading conversations or messages, this must match the User value used when they were created — Dify returns an empty page, not an error, for a mismatched value. For List Conversations and List Messages, Dify has no endpoint to list end users: use the User value from the user's request, or ask for it. See the documentation
Required
firstId First Message ID string
Pagination cursor: the id of the first message in the current page's data array. Pass it to fetch the previous (older) page. Omit to fetch the latest messages.
Optional
limit Limit integer
Number of results to return per page, between 1 and 100. Defaults to 20.
Optional
includeFullDetails Include Full Details boolean
Return Dify's full message objects, including retriever_resources, agent_thoughts, message_files, inputs, and token/price usage. These can be large on knowledge-base and agent apps. Defaults to false.
Optional

REFERENCE

Tool details

Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.

Registry key
dify-list-messages
Version
0.0.1
App
Dify
Authentication
API key
Read-only
Yes
Destructive
No
Open world
Yes