Skip to main content
Send Message posts messages to Slack channels with optional file attachments. Perfect for sharing workflow results, sending reports, delivering notifications, or responding to team requests directly in Slack.

Inputs

FieldTypeRequiredDescription
ChannelSelectYesSlack channel to send the message to
MessageText AreaYesThe message text to send
Thread IDTextNoReply to a specific thread (leave empty for new message)
Include AttachmentSwitchNoAttach data files to the message
Attachment FormatSelectYes*File format: CSV, PDF, Text, or JSON (*Required when including attachment)
Attachment DataText AreaYes*Data to include in the file (*Required when including attachment)
Attachment FilenameTextYes*Name for the file (without extension) (*Required when including attachment)

How It Works

This node sends messages to Slack channels where the Markifact bot has access. Messages can be standalone or replies to existing threads, and you can attach data files in various formats.

⚠️ Channel Access Requirements

Bot Must Be Channel Member:
  • The Markifact bot must be added to channels before sending messages
  • Public channels: Usually accessible automatically
  • Private channels: Must manually invite bot with @Markifact
  • Missing channels: Won’t appear in dropdown until bot is added
Error Message: “The Slack bot is not a member of the specified channel” Solution: Go to the channel and type @Markifact to invite the bot

Message Features

Basic Messages

  • Plain text messages for notifications and updates
  • Rich text formatting with Slack markdown
  • Connect dynamic content from previous workflow nodes
  • Multi-line messages with proper formatting

Thread Replies

  • Reply to specific messages using Thread ID
  • Continue conversations started by triggers
  • Maintain context in threaded discussions
  • Leave Thread ID empty for new standalone messages

File Attachments

Supported Formats:
  • CSV: Spreadsheet data, reports, analytics
  • PDF: Formatted documents, professional reports
  • Text: Simple data, logs, raw information
  • JSON: Structured data, API responses

Configuration Examples

Campaign Report Delivery

Scenario: Send daily Google Ads performance to marketing team Configuration:
  • Channel: “#marketing-daily”
  • Message: ”📊 Daily Google Ads Performance Report\n\nHere’s yesterday’s campaign data:”
  • Include Attachment: On
  • Attachment Format: CSV
  • Attachment Data: Connect from Google Ads Get Report
  • Attachment Filename: “daily-ads-report”
Result: Professional report with CSV attachment posted daily.

Alert Notifications

Scenario: Send urgent campaign alerts to team Configuration:
  • Channel: “#alerts”
  • Message: ”🚨 ALERT: Campaign ‘[campaign_name]’ spend exceeded $1000 today!”
  • Include Attachment: Off
Result: Immediate team notification of important events.

Weekly Summary with PDF

Scenario: Share formatted weekly report Configuration:
  • Channel: “#weekly-reports”
  • Message: ”📈 Weekly Performance Summary\n\nKey highlights:\n• Total conversions: [conversions]\n• Best performing campaign: [top_campaign]\n\nFull report attached.”
  • Include Attachment: On
  • Attachment Format: PDF
  • Attachment Data: Connect formatted report data
  • Attachment Filename: “weekly-summary”
Result: Professional summary with detailed PDF attachment.

Channel Management

Bot Setup Process

  1. Identify target channels for message delivery
  2. Add bot to each channel by typing @Markifact
  3. Verify bot access - channels appear in dropdown
  4. Test message delivery with simple workflow

Public vs Private Channels

Public Channels:
  • Bot typically has automatic access
  • Appear in channel dropdown immediately
  • Good for team-wide notifications
Private Channels:
  • Require manual bot invitation
  • Must type @Markifact to add bot
  • Only show in dropdown after bot is added
  • Good for sensitive or department-specific content

Credit Cost

1 credit per successful run.

FAQ

Private channels only appear after the bot is added. Go to your private channel, type @Markifact in a message to invite the bot. Once added, refresh your workflow and the channel will appear in the dropdown menu.
New messages start fresh conversations (leave Thread ID empty). Thread replies continue existing conversations by including the Thread ID from the original message. Use thread replies when responding to @Markifact mentions to keep conversations organized.
Each Send Message node posts to one channel. To send to multiple channels, use multiple Send Message nodes in your workflow, each configured for a different channel. This gives you control over customizing messages per channel.
Very large attachments may fail to upload. Slack has file size limits (usually around 1GB for workspaces). For large datasets, consider splitting data across multiple files or using cloud storage links instead of direct attachments.
Yes, use markdown formatting in your message text. Nodes like AI return markdown-ready content, so you can include styles like:
  • **bold text** for bold
  • *italic text* for italics
  • > quoted text for block quotes
  • \code text“ for inline code Slack will render these with proper formatting in the channel.
Thread ID comes from the New Message trigger when someone mentions @Markifact. Connect the Thread ID output from the trigger to the Thread ID input of Send Message to reply in the same thread automatically.
Yes, you can use markdown image links in your message text:![Alt text](image_url).The image will be displayed as attachment in the channel
CSV: Best for tabular data from analytics platforms. Nodes like Google Analytics, Meta Ads, and Google Sheets return CSV-ready data.PDF: Great for formatted reports with text and basic charts. Usually returned from AI nodes.Text: Good for simple lists and plain data.JSON: Perfect for technical data and API responses.Choose based on how your team will use the data.
I