Build, modify, and manage Tray.ai workflows using natural language, right inside the OpenAI Codex CLI.
This is the Codex packaging of Tray.ai's tray-workflows workflow tooling (also available as a Claude Code plugin). It connects Codex to your Tray workspace via the hosted tray MCP server, so you can describe an integration in plain English — "sync new Salesforce leads to Slack" — and have it planned, built, validated, and test-fired without leaving your terminal.
⚠️ The tooling acts as you, in the Tray workspace you sign in to. It operates with your Tray identity and permissions. It can create, modify, and delete projects, workflows, and authentications, and — with your explicit go-ahead — run workflows that have real side effects. Every action is taken as you, in that workspace.
- Workflow builder — plan, build, and validate complete Tray workflows from a natural-language description (the
build-workflowskill) - Connector research — discover any connector's operations, authentication, and required fields on demand (the
tray-researchersubagent +research-connectorskill) - Built-in validation — every change is checked against Tray's structural rules so workflows are correct before you run them
- Run & debug in-session — trigger workflows, inspect executions, and drill into per-step input/output
It's the same Tray domain knowledge as the Claude Code plugin, repackaged for Codex's conventions (config.toml MCP servers, AGENTS.md, skills, and subagents).
Requires a Codex build with the plugin marketplace (
codex plugin --helplistsmarketplace). On older builds, use the manual option below.
codex plugin marketplace add trayio/tray-plugins
codex # then run /plugins to install "tray-workflows"This bundles and registers the skills, the tray-researcher subagent, and the remote tray MCP server — no scripts, no files copied into your home directory by us. Because the Tray server is remote (HTTP) and OAuth-based, after install run codex mcp login tray (see Authorize).
-
Add the MCP server. Merge the block from
examples/config.tomlinto~/.codex/config.toml:[mcp_servers.tray] url = "https://api.tray.io/mcp"
If
codex mcp listdoesn't showtray, your Codex build may gate HTTP MCP behind a flag — add[features]\nexperimental_use_rmcp_client = trueand restart. (Try without it first.) -
Install the skills — copy
plugins/codex/tray-workflows/skills/*into~/.agents/skills/(global) or.agents/skills/in your project. -
Install the subagent — copy
plugins/codex/tray-workflows/agents/tray-researcher.tomlinto~/.codex/agents/. -
Add the instructions — copy the
tray-workflowsblock fromAGENTS.mdinto your projectAGENTS.md(or~/.codex/AGENTS.md).
The Tray MCP server uses OAuth2 (PKCE) — sign in once:
codex mcp login trayYour browser opens to authorize. After that, Codex manages tokens automatically. There are no API tokens to create or manage manually.
Start a new Codex session in a project that has the Tray instructions, then describe what you want:
Build a workflow that syncs new Salesforce leads to Slack
Codex will load the build-workflow skill, plan the workflow, research the connectors it needs (via the tray-researcher subagent), build the steps, and validate the result before anything runs.
This repo serves both the Claude Code plugin (.claude-plugin/, plugins/tray-workflows/)
and the Codex bundle below. Each tool reads only its own files.
tray-plugins/
├── AGENTS.md # Tray instructions block (copy into ~/.codex/AGENTS.md)
├── examples/config.toml # manual MCP server snippet (Option B)
├── .agents/plugins/marketplace.json # Codex marketplace catalog (Option A)
└── plugins/codex/tray-workflows/
├── .codex-plugin/plugin.json # Codex plugin manifest
├── .mcp.json # plugin MCP server definition
├── agents/tray-researcher.toml # connector-research subagent
└── skills/
├── build-workflow/ # entry point for all workflow builds
├── research-connector/ # connector discovery via DDL
├── tray-connectors/ # core connector names/versions + type-wrapping
├── tray-patterns/ # structure: branches, loops, callables, scheduling
└── tray-gotchas/ # error debugging + edge cases
- Same Tray knowledge, Codex packaging. The Tray workflow logic mirrors the Claude Code plugin; the Codex packaging (config, skills format, subagent) is adapted to Codex conventions and verified by structure, not against every Codex release.
- Codex versions vary. Remote/HTTP MCP support, skills, subagents, and the plugin marketplace have all landed at different points in Codex's history. Option A targets builds with the plugin marketplace; Option B (manual) adapts to older builds. See the inline comments in
examples/config.toml. - No code runs locally. This bundle ships no executable code — only declarative config, skills, and an MCP server URL. The
trayMCP server is hosted by Tray; there's nothing to build or run.
Tray workflow knowledge and skills are shared with the trayio/tray-plugins Claude Code plugin by Tray.ai.