Product surfaces
Ask @Cohenta wherever your team works.
A named teammate in Slack, Microsoft Teams, ChatGPT, and Claude — plus CLI and API. One Runner. Keys in your keychain.
cohenta install slackOne teammate
The same ask, everywhere.
Slack first
Your app. Your tokens.
One command — cohenta install slack — opens Slack's create-app page with Cohenta's manifest. Slack issues the tokens to you. They live in your keychain — Cohenta never sees them.
The Runner connects out over Slack Socket Mode — an outbound WebSocket, no inbound port. A laptop behind a firewall is enough.
@Cohenta in channels and threads
Bring it into a channel or a thread like any teammate: a brief, a question, a change request.
Live status while it works
Plan, draft, render — the ticks land in the thread while the engine works, so the channel sees progress without asking.
Approval buttons where you asked
Ready work arrives with Approve and Request changes. The run holds until someone presses one.
All seven
Every place @Cohenta answers.
Chat where your team chats, automate where your systems run — and mix freely. They all reach the same engine.
Where teams already talk
socket · outboundYour own app, your tokens — status and approvals land in the thread.
For M365 organizations
bot · your azureA customer-owned Entra registration and Teams app package, deployed in your Azure from provided templates. Adaptive Card approvals, and proactive pings when work is ready for review.
Through a secure tunnel
tunnel · outboundConnect ChatGPT to your Runner over OpenAI’s secure outbound tunnel — nothing inbound. Start runs and check status from a ChatGPT conversation.
Local, automatic
mcp · localThe plugin starts your local Runner over MCP automatically. Campaigns from the same terminal you work in.
Connector plus review view
mcp · httpsA custom connector reaches your hosted Runner over remote MCP. An interactive review view inside Claude shows campaign status and assets — no separate dashboard.
For pipelines
mcp · apiThe same MCP connector, called from code: start, monitor, and fetch campaigns programmatically.
Direct automation
cli · directTalk to the Runner itself. Script installs, runs, status, and retrieval into jobs you already operate.
Zero custody
Seven ways in. One Runner.
A small engine — laptop, server, container, or your cloud. Bring your own keys; config stores only references.
Nothing to hand over
Cohenta never receives or stores your provider keys, publishing credentials, canonical assets, or campaign state.
Shared only where you chose
Messages you send in Slack or Teams are processed by those platforms; prompts go to the model providers you configured. Data is shared only with the platforms and providers you have chosen.
A cloud that stays out of the way
Cohenta’s cloud verifies licenses, serves signed updates and docs, and collects optional anonymous telemetry. It is never in the execution path.
Stable identity
One campaign, every door.
Start in Slack. Check from Teams or Claude. Same campaign, same state — the canonical record lives with you.
The last gate
Paused until you press Approve.
The run waits at the gate
The pause is durable — it survives restarts and waits as long as you need. Nothing moves until a decision arrives, and ad creative always lands paused.
A button, never an inference
Approve, Request changes, or Reject — in Slack or Teams — resumes that exact paused run. Consent is a press, not a phrase a model read into your message.
Grounding gates flag, never fix
An untraceable claim gets flagged and annotated for review — never silently rewritten, never silently blocked. Publishing waits for a separate, explicit confirm.
Common questions
Asked and answered.
Is Cohenta a Slack bot?
Do I need to open a port or expose an endpoint?
Where do my Slack tokens live?
What does Teams need that Slack doesn’t?
How do I use it from Claude?
So is Cohenta an MCP server?
Can I start a campaign in Slack and approve it somewhere else?
Is there still a web console?
Your move
Put @Cohenta in your Slack.
Install the Runner, run one command, mention @Cohenta. Nothing publishes without your explicit confirmation.