App Logo
slack.com

Slack unofficial API: unpin a message

TL;DR

Automatically unpin a message on slack.com. An unofficial Slack API: unpin a Slack message programmatically, from code or from an AI agent, with typed JSON in and out. It needs no Slack app or token, only your signed-in browser.

About

Developers looking for a Slack API to unpin a Slack message usually find there is none they can use: it needs no Slack app or token, only your signed-in browser. This script fills that gap. It works like an API endpoint — one call with typed arguments, a JSON response — but runs through a real browser, yours or a hosted one, so it needs no Slack developer account, API key or app review.

Input

ts required

The message's ts.

channel required

Channel name/#name or id (C…).

workspaceDomain optional

Workspace host, e.g. acme.slack.com. Defaults to the active workspace.

Output

ok required
ts required
channel required

Resolved channel id.

account_used required

Workspace host the action ran against, read back from the session.

already_absent required

True when the message was already not pinned before this run, so nothing changed.

verified_on_page required

True when a re-read of the channel's pins confirms the message is no longer pinned.

channel_name optional

Resolved channel name, when Slack reports one.

Example output

Shape only: placeholder values generated from the output schema, not a real run.

{ "ok": true, "ts": "…", "channel": "…", "account_used": "…", "channel_name": "…", "already_absent": true, "verified_on_page": true }

FAQ

Remove a pinned message from its channel by channel (name or id) and message ts. Requires login.
Ask an AI agent connected to Reduck to run reduck/slack.com/unpin_message, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/slack.com/unpin_message
You do not need one. "Slack unofficial API: unpin a message" drives the real slack.com pages in a browser, so it works whether or not slack.com offers an API for this.
Required: channel, ts. Optional: workspaceDomain.
It returns ok, ts, channel, account_used, channel_name, already_absent, verified_on_page.
Yes. It acts as you on slack.com: on your own Chrome it reuses your session, and on a Reduck-hosted browser it loads the slack.com cookies saved by the Reduck extension.
It makes changes on slack.com, like sending, posting, booking or buying something.
Ask an AI agent connected to Reduck to run reduck/slack.com/unpin_message, or run it from a terminal with the Reduck CLI: npx @reduck-ai/cli@latest run --script reduck/slack.com/unpin_message
It is part of Reduck's official curated catalogue.
Not an official one you can use for this: it needs no Slack app or token, only your signed-in browser. This script works as an unofficial Slack API for it: typed input, JSON output, callable from an AI agent over MCP, from the CLI, or over REST.
Call this script with its arguments and read the JSON it returns. It drives Slack in a real browser session, so there is no API key to request and nothing to reverse-engineer yourself.

Start building not clicking