Common Issues
Connection issues
My Slack API token is not being accepted
Double-check that you're using a User OAuth Token (starts with xoxp-), not a Bot Token (xoxb-). Bot tokens lack the search:read scope required for the Messages entity. Generate a new user token at api.slack.com under OAuth & Permissions and make sure the following scopes are added: channels:read, channels:history, users:read, and search:read.
The data flow connects but returns no data
For the Messages entity, this usually means your search query returned no results. Test the same query directly in Slack's search bar to verify it returns messages. Also confirm your token has access to the channels referenced in the query.
Missing data
Bot messages are missing from my export
Slack's search API does not reliably index messages posted by bots, especially those sent via incoming webhooks or the postMessage API without a linked user identity. This is a Slack platform limitation. If you need bot messages, consider exporting the full channel history using a bot token with channels:history scope — though this requires a different approach than the search-based Messages entity.
Thread replies are not showing up
Thread replies are separate messages in Slack's data model and may not surface in a general channel search. Try a more targeted search query using the in:#channel modifier combined with keywords from the thread. Full thread export is not natively supported by Slack's search API.
I can't see messages from private channels
Private channel messages are only accessible if the user whose token you're using is a member of that channel. Ask a channel member to generate the token, or have a workspace admin add the token owner to the channel.
File attachments and images are not in my export
Coupler.io exports attachment metadata — the file name, type, and Slack-hosted URL — but does not download or transfer the actual files or images. This is by design and reflects how Slack's API exposes attachment data.
Permission errors
I get a "missing_scope" error
This means your token is missing one or more required OAuth scopes. Go to your Slack app settings at api.slack.com, navigate to OAuth & Permissions, and add the missing scope. Then reinstall the app to your workspace to generate a new token with the updated permissions.
Data discrepancies
Message counts in Coupler.io don't match what I see in Slack
Slack's search API has a result limit and returns messages in relevance order, not strict chronological order. Very large result sets may be paginated or capped. To reduce discrepancies, narrow your search query with specific date ranges using before: and after: modifiers and break large exports into smaller time windows.
User list includes deactivated accounts
The Users entity includes all workspace members, including deactivated ones. You can identify deactivated accounts using the deleted field — filter your destination sheet to show only rows where deleted is false.
Rate limits
The data flow is slow or times out on large workspaces
Slack applies rate limits on its search and users APIs (typically Tier 2: ~20 requests/minute). For large workspaces or broad search queries, exports may take longer. Narrow your search query to a specific channel and date range to reduce the volume of requests and speed up the export.
Last updated
Was this helpful?
