## TL;DR
Correct the schedule destination before resending anything. Check that the Looker Slack integration is connected for the workspace, that the schedule uses a format Slack can accept for that tile type, and that the channel or user destination is written in the form the integration expects. A format the destination cannot take, such as an unsupported file type for a single tile delivery, fails at the destination stage every time.

```text
Looker dashboard scheduling failed: destination format error for Slack delivery
```

## Use this when
- A Looker schedule to Slack fails and the history names a destination or format problem.
- Email delivery of the same dashboard succeeds, isolating the fault to the Slack path.
- The Slack workspace, channel, or integration was changed recently.

## Not for this skill when
- All deliveries from the instance fail, including email. Check the instance delivery system first.
- The dashboard itself errors when opened. The schedule cannot deliver broken content regardless of destination.

## Steps
1. Open the schedule delivery history and read the exact destination error for the failed run. Verify: the error names the format or the destination rather than a render stage
2. Open the schedule settings and review the chosen format against what the content can deliver to Slack, switching a table export to a supported image or file option if needed. Verify: the schedule saves with a format the destination accepts
3. Confirm the Slack integration is connected in the admin integrations area and that the app is invited to the target channel if it is private. Verify: the integration shows as enabled and the channel lists the app as a member
4. Check the destination value on the schedule for the expected channel or user form used by your workspace. Verify: the destination matches an existing channel the app can post to
5. Send a test delivery from the schedule to a channel you control. Verify: the message arrives in Slack with the dashboard content attached or rendered
6. Re-enable the regular schedule and confirm the next automatic delivery lands in the channel. Verify: the delivery history shows a successful Slack delivery

## Why it happens
Destination validation is where three settings meet, the content type, the chosen format, and the integration state, so the failing schedule usually has one stale element after a workspace or content change. Testing a delivery after any integration or channel change, rather than at the next scheduled run, keeps the discovery in work hours instead of in an empty channel the next morning.

Looker deliveries validate the combination of content, format and destination before sending. Slack delivery goes through the connected Slack app and posts either an image or a file, depending on the dashboard and format choices, and some combinations are not supported, for example certain table exports to Slack. Channel naming also matters, because the integration posts through the app permissions granted when it was installed, and private channels the app was never invited to reject the post.

Field notes for Looker specifically. The Admin area holds the diagnostic pages that matter here, System Activity for query history and runtimes, the PDT activity page for derived table builds, and the Content Validator under the content management tools. Keep the browser on the same Looker version as the instance when testing, because explore behaviour and error wording shift slightly between monthly releases. Screenshots from viewers are worth collecting with the exact load time, since Looker support and your own history search both work far better from a timestamp than from a description of slowness.

A practical habit for Looker teams is to keep one test user per permission tier and to test every model change as the most restricted tier, not as an admin. Admins bypass access filters, see every field, and hit warm caches, so admin testing systematically hides the failures viewers get. Pair that with a standing explore that lists the twenty slowest tiles across the instance each week, and most dashboard incidents become follow ups on a report the team already reads, instead of surprises reported by executives in a meeting.
## Variants and edge cases
### Looker schedule Slack destination format error fix
The direct phrasing from the delivery history.
### Looker dashboard not posting to Slack private channel app
The private channel variant where the app was never invited.
### Looker Slack delivery unsupported format table tile
The format support variant for table heavy dashboards.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_A6Sqpnded2d1mWaq7mpuIg
