View as Markdown
Slack icon

Slack ACTION

Get Channel History

Read the recent message history from a specific channel or direct message (DM). Accepts a channel ID (preferred — resolves instantly) or channel name (resolved by scanning up to 5 pages, ~5,000 channels, of the workspace's channel list — a name beyond that bound will not be found, so pass the ID when you have it). To read a DM, pass the other person's user ID (e.g. U1234567890) as the channel — pass your OWN user ID to read your conversation with yourself. Use this when you want to see a channel's or DM's latest messages — unlike Search which finds messages by keyword. Returns messages with text, timestamps (ts), reactions, and user IDs. Message timestamps can be used with Get Thread Replies, Edit Message, and Add Reaction. Pass fields (e.g. text,ts,user) unless you need full message objects — raw Slack messages carry blocks, attachments and edit metadata, so a busy channel can run to tens of thousands of characters and be truncated before you see any of it. See the documentation
  • Action
  • Read only
  • OAuth
  • SDK
  • MCP

IMPLEMENTATION

Call this tool

Connect a user's Slack account once, then configure and run Get Channel History 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: "slack_v2-get-channel-history",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    slack_v2: { authProvisionId: "apn_xxxxxxx" },
    channel: "Channel",
    limit: 10,
  },
})

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.

Get Channel History inputs
Property Type Description
channel Channel string
Prefer a channel ID (e.g. C1234567890) — use List Channels to look it up; it resolves instantly. A channel name (e.g. general or #general) is also accepted, but resolving it scans up to 5 pages (~5,000 channels) of the workspace's channel list, which can be slow — and a valid channel beyond that bound will not be found. For a direct message, pass a user ID (e.g. U1234567890) — including your own, to read your self-DM.
Required
limit Limit integer
Maximum number of messages to return. Default: 20.
Optional
oldest Oldest string
Only return messages posted after this timestamp (inclusive), as a Slack timestamp, e.g. 1610000000.000000 (Unix epoch seconds, optionally with fractional microseconds).
Optional
latest Latest string
Only return messages posted before this timestamp. Defaults to now. Same format as Oldest, e.g. 1610000000.000000.
Optional
fields Fields string[]
Message properties to return, e.g. text, ts, user, thread_ts, reply_count, reactions. Recommended: ["text", "ts", "user"]. Omit only when you need the full message objects.
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
slack_v2-get-channel-history
Version
0.2.5
App
Slack
Authentication
OAuth
Read-only
Yes
Destructive
No
Open world
Yes