Skip to content
ConsultEvo

How to Quote in Slack: Block Quotes, Links, and Forwarding

To quote in Slack, choose the method that matches your goal: use a block quote to format copied text, copy a message link to preserve a route to the source, or use Slack’s Forward message action to redistribute the message through Slack. If you are answering a question in another channel, a short block quote plus the original message link gives readers both the key point and a way to verify its context.

These methods are not interchangeable. A block quote is presentation, not automatic citation. A message link points to the existing message, while Forward message uses Slack’s user-facing sharing flow. The steps below cover desktop and mobile, then show how to design recurring sharing without losing provenance or creating duplicate posts.

Slack does not document a dedicated quote-message action that automatically cites an existing message. It does provide Block quote formatting, message links, and message forwarding. Choose the outcome first: format, cite, or redistribute.

How do you quote a message in Slack?

Use this quick rule: Block quote for visual emphasis, message link for traceability, and Forward message for redistribution through Slack’s sharing flow. A formatted excerpt does not identify the original message. A permalink or forwarded message provides a route back to the source when the recipient has the necessary access.

Slack’s message-formatting guide documents Block quote formatting. Its forwarding and message-link instructions cover the other two methods. The distinction matters for incident updates, operational decisions, and any discussion where the original context may need to be checked later.

How to format text as a block quote

Use a block quote when you want an excerpt to stand out in a message you are composing. It formats the text you select or type. It does not automatically attach the source message.

  1. Open the destination channel, direct message, or thread and enter or paste the text in the composer.
  2. Highlight the text and choose Block quote from the formatting toolbar. Slack documents Command + Shift + 9 on Mac and Ctrl + Shift + 9 on Windows and Linux for quoting selected text. Keyboard configuration can affect shortcuts.
  3. For markup, enable formatting markup in Slack’s advanced input preferences and place > before the quoted text. Use Shift + Enter to start a new line when needed. Whether Enter sends the message depends on the message-field preference.
  4. Add attribution, such as the author or channel, when readers could mistake the excerpt for a new statement. Add the original message link separately when provenance matters.

Slack documents the toolbar and line-break behavior in its formatting instructions, the > syntax in its markup guide, and the selected-text shortcut in its keyboard shortcut reference.

How to copy and share a Slack message link

Use a message link when the recipient should be able to open the original message rather than rely only on copied text.

On desktop

  1. Open the message’s three-dot menu.
  2. Select Copy link.
  3. Paste the link into the destination conversation, add a short explanation, and send.

On iOS or Android

  1. Press and hold the message.
  2. Choose Copy Link to Message.
  3. Paste the link into the destination conversation, add context if useful, and send.

Slack can expand a pasted link into a preview in supported cases. A preview is not a grant of access to the source. For private-channel and direct-message links, the recipient’s conversation access determines what they can see. A workspace owner can also disable message copying on mobile, so the option may not appear.

How to forward a Slack message on desktop or mobile

Choose Forward message when you want to redistribute the message through Slack’s own sharing flow rather than send only a pointer to it.

  • Desktop: Open the message’s Forward message action, choose a channel or person, optionally add context, and select Forward.
  • Mobile: Press and hold the message, choose Forward Message or the equivalent option shown, select a destination, add optional context, and send.

Forwarded messages include a preview and can link back to the source for recipients with the necessary access. Menu presentation and capitalization can vary by platform. An automated post made with an API or integration is a new message, not necessarily the same object as Slack’s user-facing Forward action.

Which Slack quoting method should you choose?

Method Best for What it preserves
Block quote Emphasizing selected text Formatting, not source identity
Message link Citing the original A pointer to the source
Forward Redistributing a message in Slack A share preview and source route
Automation Repeated, rule-based sharing Whatever source fields and links the workflow records

For an operational update, a useful manual pattern is a short block quote, clear attribution, and a source permalink. Share only the excerpt needed to answer the question or support a decision.

If readers need to verify the source, preserve a message link. Formatted text alone is not a citation.

Can you automate Slack message quoting?

You can design an automation to capture an eligible message, retain or generate its permalink, and post a new message elsewhere. Treat this as an implementation pattern, not a guaranteed prebuilt template. Zapier’s Slack integration catalog lists message triggers and actions including Get Message Permalink, Send Channel Message, and Request Approval. Confirm the trigger’s conversation scope, available fields, and plan requirements in the Zap editor.

A direct Slack API workflow can call chat.getPermalink with a conversation ID and message timestamp, then call chat.postMessage to create a new destination message containing the permalink and optional text. This produces a new post. It should not be described as reproducing Slack’s native Forward action.

Decision point

Let deterministic rules decide whether a message is eligible: for example, a selected channel plus a specific reaction, or a keyword plus an age limit. AI can summarize an approved message, but it should not decide whether private content is authorized to share. Store the original permalink beside any derived summary.

The workflow below is a proposed design. Its fields, approval sequence, and deduplication key are not vendor-published schemas.

01Capture and filterReceive a Slack event or selected message with its source conversation and timestamp. Apply the channel, reaction, keyword, author, or age rule before any summary or repost is created.
02Validate provenance and policyCheck that the source still exists, the app or token can access it, the destination exists, and the destination audience is permitted to receive it. Retrieve or retain the permalink before composing the new post.
03Approve when requiredSend sensitive or cross-team shares to an approval step when the configured workflow supports it. Assign a named Slack or automation owner to review declined, inaccessible, or sensitive items.
04Post once and recordCreate a new destination message with context and the source link. Save the destination result and processing status. Use a database uniqueness constraint or atomic upsert to prevent concurrent duplicate posts.

Illustrative message-level contract: one record represents one source message shared to one destination for one operation. It is not a vendor schema.

{
  "workspace_id": "T_EXAMPLE",
  "source_conversation_id": "C_SOURCE",
  "source_message_ts": "1700000000.000001",
  "source_permalink": "https://workspace.slack.com/archives/...",
  "destination_conversation_id": "C_DESTINATION",
  "operation_type": "repost",
  "processing_status": "pending_approval"
}

For message-level reposting, use a proposed idempotency key composed of workspace_id, source_conversation_id, source_message_ts, destination_conversation_id, and operation_type. The conversation belongs in the key because a timestamp identifies a message within its conversation. Enforce uniqueness in the database. A “look up, then insert” sequence alone can allow concurrent workers to create the same post.

Keep digest records at a different grain. One digest record represents an aggregation window and destination, while citation records represent the individual source messages included in that digest. Do not use a daily date as the message-level identifier. If an automation reads history rather than handling new events, account for conversation-specific permissions, pagination, and rate limits in Slack’s conversation history documentation.

Handle failures by type. Route access_denied and sensitive-content cases to the named owner, mark message_not_found for review, honor rate-limit guidance, and stop on an invalid destination until it is corrected. Preserve the original event or record so a retry cannot create a second post.

What to check before sharing a Slack message

Private-channel and direct-message visibility depends on recipient access. A preview or forwarded card does not override those permissions. For automated sharing, check both source access and the destination audience before posting.

Final sharing check
  • Can the intended recipients open the source conversation?
  • Does copied text have clear attribution and a source permalink when needed?
  • Is the destination the right channel, thread, or person for this content?
  • Has this source message already been shared to that destination for this operation?

For history-scanning workflows, also verify the app’s conversation scopes, pagination behavior, and current rate limits. For mobile users, remember that message copying may be unavailable when an administrator has disabled it.

ConsultEvoZapier automation servicesA relevant next step for teams designing reviewed, provenance-preserving Slack workflows with explicit exception handling.

Use a block quote for presentation, a message link for citation, and Forward message for Slack’s user-facing redistribution flow. If sharing needs to happen repeatedly, define eligibility, provenance, deduplication, and an exception owner before enabling automatic posts.