Post to Slack from Codex
Codex can post to a channel on Slack through ClipSpeed. Add the ClipSpeed server with one command, sign in, and then ask Codex to post to a channel, pick the time, and apply Slack's settings, without leaving the terminal and IDE. Slack is on the roadmap on ClipSpeed's rail; this page describes how it works and says so.
Keep a human in the loop: Codex shows the plan and asks before anything is public. Posting today: YouTube, TikTok, Instagram, X (Twitter) and LinkedIn.
Also try
How to post Slack from Codex
One command writes the server into Codex's config. Start codex, sign in to ClipSpeed when it asks, and the tools are available. Connect Slack in ClipSpeed, then describe the post. Setup takes about a minute.
# One-time setup (OAuth, no API key)
codex mcp add clipspeed --url https://api.clipspeed.ai/mcp
# Then ask Codex:
> Post the release summary to #general Monday 9am
Codex: Preview — nothing booked yet. Slack — text. Book it?Codex stores MCP servers in ~/.codex/config.toml under [mcp_servers.clipspeed]. You can also paste the block by hand.
- Run codex mcp add clipspeed --url https://api.clipspeed.ai/mcp in your terminal.
- Start codex. On first use of a ClipSpeed tool it opens the OAuth sign-in; approve it.
- Ask it to list your channels to confirm.
- Connect Slack in the ClipSpeed app, or ask Codex for a connect link: it is private, valid for ten minutes, and Slack signs you in itself.
Developer reference: the Codex MCP page.
What can Codex do on Slack?
On Slack, Codex can post messages, images and video to a Slack channel. Every booking runs through the same rules as the ClipSpeed app.
Text, Image and Video posts
Slack takes text, image and video through ClipSpeed. Video: MP4 up to 1 GB. Image: JPG, PNG or GIF.
4,000 characters, checked at booking
Slack's own arithmetic. Too long is refused with the real count, never trimmed at send time.
Exact time or refused
Name the minute and Codex books it, or you are told why not and offered the next open slot. A booked Slack post is never moved behind your back.
Preview before anything posts
preview: true runs the whole booking and writes nothing. Codex shows the plan, with each slot and the day's remaining cap, and books only on your yes.
Clips cut in the same session
Submit a video or stream link, get captioned 9:16 clips with a viral score, and post the best as native video on Slack. No download, no re-upload.
Pacing and numbers
Planned: Text posts on Slack are at least 15 minutes apart, up to 20 a day. Video on Slack is at least 1 hours apart, up to 10 a day under your plan. After a post goes out, Codex can read back views and engagement where Slack provides them.
How does Codex post to Slack through ClipSpeed?
You describe what you want in plain language and Codex makes the ClipSpeed calls. A typical conversation has three beats.
Find your Slack channel
Ask Codex whether Slack is connected. It calls list_channels and reads platform_settings, so it also knows what Slack accepts and the limits before you write a word.
Compose within the rules
Describe the post. Codex drafts within Slack's limits; mention a clip or a file and it attaches it.
Schedule or publish
Name a time, or say now. The slot is booked exactly or refused with the next open one, and the reply carries the id you can cancel or edit by.
Slack settings reference
These are the schedule_post fields that apply to Slack. Mention any of them in plain language and Codex sets them; the server checks them at booking. Fields marked planned land with the Slack release.
| Field | Type | Required | What it does on Slack |
|---|---|---|---|
platforms | string[] | Yes | Include "slack". Up to ten platforms per call; each books its own slot. |
text | string | Yes for a text post | Keep a message under 4,000 characters; Slack truncates longer ones in the client. |
channel | string | Planned | The channel inside the connected workspace. |
media_kind | text | image | video | No | Detected from the file when omitted. |
clip_id or media_url | string | No | A clip or a public link. |
scheduled_at | ISO 8601 | No | Exact or refused with the next open slot. |
preview | boolean | No | Plan only. |
Common Slack configurations
Ask Codex for any of these and it applies the matching settings.
Release announcement
Clip for the team
Image
Standing reminder, previewed
Example prompts for Slack in Codex
Type these into the terminal and IDE, or pass one to nightly.sh in a script. Codex calls ClipSpeed and confirms before publishing.
Post Slack with a scheduled time
Post the release summary to #general Monday 9am. Keep the text under 4,000 characters. Preview first.
Cut the clips, then post the best
Clip this link, keep the top three by viral score, and schedule them to Slack at 11am, 3pm and 7pm tomorrow. Show me the plan before booking.
From a script with Codex
codex exec "Summarise the changes since the last git tag as one Slack post under 4,000 characters. Schedule it via ClipSpeed for today at 10am; preview first and book if nothing is refused."
Slack limits and gotchas to know
Slack enforces a few rules that Codex and ClipSpeed respect automatically, but knowing them helps you phrase requests.
- Keep messages under 4,000 characters; Slack truncates longer ones.
- The connected app can only post to channels it has been added to.
- Slack is on ClipSpeed's roadmap, not the next rail. Bookings are refused plainly until it posts.
- Slack is internal: the audience is your team, so pacing is generous.
- Direct messages are not a scheduling target; channels are.
| Rule | Slack |
|---|---|
| Accepts | Text, Image, Video |
| Text limit | 4,000 characters (Slack truncates a single message near 4,000 characters in the client) |
| Title | No title field |
| Links in the caption | Kept with an unfurl |
| Pacing | Planned: Text posts on Slack are at least 15 minutes apart, up to 20 a day. Video on Slack is at least 1 hours apart, up to 10 a day under your plan. |
| Formats | Image: JPG, PNG or GIF. Video: MP4 up to 1 GB. Aspect: any |
| Status | On the roadmap; described here, not yet bookable |
What Postiz-style schedulers cannot do
Cut the clips first
Codex does not need finished video to start. Hand it a YouTube link, a podcast, a stream VOD or a local export. ClipSpeed finds the moments, cuts them to 9:16 with word-by-word captions, scores each one 0 to 100 for shareability, and returns them in the same conversation. Codex picks by score, writes the caption from the transcript, and books the clips on Slack. Three tool calls, one approval, no download and no re-upload.
- Clips arrive with a title written from the hook, a transcript and a viral score, so the agent can choose and caption without watching the footage.
- Live streams can be clipped while they are still on air; the agent books the highlights for the next morning before the stream ends.
- Every clip is already hosted, so
schedule_posttakes its id directly. Nothing moves through your laptop.
submit_to_clipspeedPaste the link. ClipSpeed starts the job and returns a project id.check_clipsPoll with the project id. Back come the finished 9:16 clips with titles, transcripts, viral scores and preview links.schedule_postPass the clip id, the platforms, a caption and a time. Codex shows the plan with preview: true, you say yes, it books.generate_image or generate_videoDescribe the shot. ClipSpeed runs it on the model that fits (Seedance, Kling, Veo, Nano Banana Pro, GPT Image and others) and quotes the credits first.wait_for_generationReturns the hosted result link and a preview the agent can show you.schedule_post with media_urlThe result link goes straight into the booking on Slack. The caption, the time and the file are approved together.The other half nobody else has
Generate the image or video, then post it
A product shot for Instagram, a 16:9 announcement graphic for X, a six-second opener before a clip: Codex can make an image or a short video with ClipSpeed's image and video models and book the result in the same reply. There is no separate design tool, no export, no upload page. The generated file is hosted, so media_url is the only thing the booking needs.
- The price in credits is quoted before anything renders, within the per-generation and daily caps you set in Settings.
- Results are previewed in the conversation, so you approve the picture and the post at once.
- Images post as JPG, PNG or WebP up to 25 MB; video posts as MP4, MOV or WebM up to 1 GB.
What is Codex?
Codex is OpenAI's coding agent. It runs in the terminal (codex), inside IDEs, and in the cloud, reads your codebase, runs commands and calls MCP tools. With ClipSpeed added as an MCP server, Codex can clip a video, generate images and video, and schedule posts, interactively or from a script with codex exec.
How ClipSpeed works with Codex
- codex mcp add writes the server into config.toml; Codex discovers the tools at start
- It reads
platform_settingsbefore writing so limits are met schedule_postis exact or refused with the next open slot; nothing moved quietlypreview: truereturns the plan with nothing bookedcodex exectakes one prompt and exits, for cron and CI
Codex vs ChatGPT: Codex (terminal, ide, cloud), ChatGPT (chatgpt.com). This page is about Codex; the Codex guide compares them.
# Written by: codex mcp add clipspeed --url https://api.clipspeed.ai/mcp
[mcp_servers.clipspeed]
url = "https://api.clipspeed.ai/mcp"
# For a runner with no browser, authenticate with an API key instead:
# bearer_token_env_var = "CLIPSPEED_API_KEY"
# Verify
$ codex "List my connected ClipSpeed channels"# What the agent reads at connect time (tool descriptions, abridged)
list_channels Connected platforms, what each accepts, limits, your time zone
connect_channel A private 10-minute link to connect one platform
platform_settings Limits, title rules, link handling, pacing per platform
schedule_post clip_id | text | media_url → platforms[], scheduled_at, preview
list_scheduled_posts Scheduled, sending, posted, failed — with post links
update_scheduled_post Edit copy while still scheduled (the time never moves)
cancel_scheduled_post Cancel; undoable 72 h in the app
post_analytics Views, likes, comments, shares where the platform gives them
submit_to_clipspeed Start clipping a video or stream link → projectId
check_clips Finished 9:16 clips with titles, transcripts, viral scores
generate_image / generate_video / wait_for_generation
# Slack: text/image/video · text 4,000Post to Slack and other platforms from Codex
One request can book the same content to Slack and other channels, each keeping its own settings and its own slot. Every platform below has its own Codex guide.
Also works with
Slack and Codex: frequently asked questions
How do I post to Slack from Codex?
Run codex mcp add clipspeed --url https://api.clipspeed.ai/mcp in your terminal. Start codex. On first use of a ClipSpeed tool it opens the OAuth sign-in; approve it. Connect Slack in ClipSpeed (or ask Codex for a connect link; it is private and valid for ten minutes), then describe the post in plain language. Codex reads the Slack rules, drafts within them, shows the plan and books on your yes. Slack is on the roadmap; until the badge changes, the booking is refused with a plain message.
What can Codex post to Slack through ClipSpeed?
Post messages, images and video to a Slack channel. Slack takes text, image and video posts. Text is limited to 4,000 characters.
Which Slack settings can Codex control?
The fields in the settings reference above: text, channel, media_kind, clip_id or media_url, scheduled_at, preview. Mention any of them in plain language ("unlisted", "tomorrow at 9", "preview first") and Codex sets the matching field before it books.
Do I need a Slack API key or developer account?
No. You connect Slack to ClipSpeed once through Slack's own sign-in, and Codex talks to ClipSpeed over OAuth. No Slack developer key, bearer token or password is pasted anywhere.
How many Slack posts a day can Codex schedule?
Planned: Text posts on Slack are at least 15 minutes apart, up to 20 a day. Video on Slack is at least 1 hours apart, up to 10 a day under your plan. When a time is taken, the booking is refused with the next open slot rather than moved. Ask for preview to see a day's plan and the remaining cap before anything is booked.
Can Codex post to Slack from a script or a cron job?
Yes. Codex's headless mode (nightly.sh) runs one prompt and exits, and the ClipSpeed server registered on that machine does the booking. On a runner with no browser, authenticate with a ClipSpeed API key header. Keep preview on so the run reports a plan before it books.
Is posting to Slack from Codex different from ChatGPT?
The booking is identical: the same rules, the same calendar, the same refusals. What differs is where you work. Codex: terminal, vs code and other ides, codex cloud. ChatGPT: chatgpt.com, conversation first; confirms each write.