Send Slack File
The Send Slack File activity sends a file to a Slack channel as part of your workflow.
Purpose
Use the Send Slack File activity to:
- Share report outputs with team channels
- Distribute generated files to stakeholders
- Send workflow results or exports
- Automate file delivery to Slack
Prerequisites
Slack Connection Required
- Must have a configured Slack connection (see Settings → Connections)
- OAuth token must have
files:writepermission
File Source
Files are typically generated by previous workflow activities, such as:
- Report book results (PDFs, Excel files)
- Exported data files
- Generated documents
Configuration
Connection Settings
- Slack Connection: Select a pre-configured Slack connection
Channel Settings
- Channel Name: The Slack channel to send to (e.g., "products")
- Channel ID: Alternative to channel name
Message Settings (Optional)
- Message: Optional text message to accompany the file
- Appears above the file in Slack
- Can include workflow parameters
File Settings
- File Source: Select the file to send
- Typically uses output from a previous workflow activity
Context Variable (Optional)
- Message Timestamp: Store the timestamp of the message with the file
- Can be used to track the upload or read responses
File Source Options
Report Book Result
Most common use case - sending generated reports:
File Source: Report Book Result
└─ Select from previous Report Book activity output
Workflow File
Files stored or generated within the workflow:
File Source: Workflow File
└─ Select from File Explorer or previous activity
Example Configurations
Send Report PDF
Slack Connection: Company Slack
Channel: reports
Message: Monthly report for {MonthName} - generated {GenerationDate}
File: Report Book Result (Monthly_Report.pdf)
Send Data Export
Slack Connection: Company Slack
Channel: data-team
Message: Client data export - {RecordCount} records
File: Export Result (ClientData.xlsx)
Send Generated File with Timestamp
Slack Connection: Company Slack
Channel: finance
Message: Financial summary for {Period}
File: Report Book Result (Finance_Summary.pdf)
Timestamp Context Key: FileUploadTimestamp
Common Use Cases
Automated Report Distribution
1. Generate Report Book (PDF/Excel)
2. Send Slack File
└─ Channel: reports
└─ File: Report Book Result
└─ Message: "{ReportName} for {Period}"
Data Export Delivery
1. Export Data to File
2. Send Slack File
└─ Channel: data-exports
└─ File: Export File
└─ Message: "Daily export completed"
Error Logs
1. Generate Error Report
2. Send Slack File
└─ Channel: alerts
└─ File: Error Log
└─ Message: "⚠️ Workflow errors for {Date}"
Scheduled Deliveries
Workflow Schedule: Daily at 8 AM
└─ Generate Report
└─ Send Slack File
└─ Channel: morning-reports
└─ Message: "Good morning! Here's today's report."
Supported File Types
Slack generally supports:
- Documents: PDF, DOCX, TXT, MD
- Spreadsheets: XLSX, CSV
- Images: PNG, JPG, GIF
- Archives: ZIP
- Other: Most common file formats
Check Slack's current file size limits (typically 1 GB for free plans, may vary).
Message Formatting
The accompanying message supports:
- Plain text
- Workflow parameters:
{ParameterName} - Emojis: 📊 📈 📉
- Simple formatting (Slack auto-detects URLs)
Note: For advanced markdown formatting, use Send Slack Message activity separately.
File Naming
- Files retain their original names from the source activity
- Report Book Results use the report book's configured file name
- Consider configuring meaningful file names in report book settings
Best Practices
- Clear Messages: Provide context about the file content
- Appropriate Channels: Send to relevant team channels
- Naming Convention: Use consistent, descriptive file names
- Size Awareness: Be mindful of large files (consider compression)
- Frequency: Avoid overwhelming channels with too many files
- Test Channel: Test deliveries in a private channel first
- Error Handling: Plan for file generation failures
Usage Pattern with Report Books
Complete Report Delivery Flow
1. Report Book Activity
└─ Generate: Monthly_Report
└─ Format: PDF
└─ Store Output: MonthlyReportFile
2. Send Slack File
└─ Connection: Company Slack
└─ Channel: management
└─ Message: "📊 Monthly Report - {MonthName} {Year}"
└─ File: MonthlyReportFile
3. Email Activity (parallel)
└─ Also send via email to external stakeholders
Context Variable Usage
Store the message timestamp to:
- Track successful uploads
- Read responses about the file
- Link multiple messages together
- Implement approval workflows based on file reviews
Timestamp Context Key: ReportUploadTimestamp
Later activities can reference: {ReportUploadTimestamp}
Limitations
- One File per Activity: Sends one file at a time
- File Size: Subject to Slack's file size limits
- Source Dependency: File must be generated by a previous activity
- No Direct Upload: Cannot upload files from external sources directly
To send multiple files:
- Use multiple Send Slack File activities
- Or combine files into a ZIP archive first
Troubleshooting
File Not Appearing in Slack
- Verify OAuth token has
files:writepermission - Check bot is added to the target channel
- Confirm file was successfully generated by previous activity
- Review workflow execution log for errors
- Verify file size is within Slack limits
Wrong File Sent
- Check file source configuration
- Verify correct previous activity is referenced
- Ensure file variable is populated
Channel Not Found
- Verify channel name is correct (case-sensitive)
- Confirm bot is a member of the channel
- Try using Channel ID instead of name
OAuth Token Setup
Your IT team or Slack admin needs to add permissions:
Required Scopes:
files:write- Upload and send fileschannels:read- Read channel informationchat:write- Post messages (for accompanying text)
Setup Steps:
- Go to Slack App settings
- Navigate to OAuth & Permissions
- Add Bot Token Scopes listed above
- Reinstall app to workspace
- Invite bot to target channels
Security Considerations
- Files uploaded to Slack are stored in Slack's systems
- Consider data sensitivity before automated uploads
- Review Slack's data retention policies
- Monitor file sharing for compliance requirements
- Restrict bot access to appropriate channels only
- Consider encrypting sensitive files before upload
Alternative Approaches
Large Files
For very large files, consider:
- Generating a download link instead
- Using cloud storage (SharePoint, OneDrive)
- Sending email with attachment
- Compressing files before sending
External Recipients
For recipients outside Slack:
- Use Email activity instead
- Or combine: Send Slack File to internal team, Email to external
- Consider access controls and sharing permissions