Functions is a feature of 📝Clay that packages a sequence of enrichment steps, AI agents, and conditional logic into one reusable unit that runs as a single column in any table, audience, or workflow. Before it, the same logic was rebuilt column by column across tables, so every fix had to be hunted down and repeated; a function is edited once and the published change propagates everywhere it is referenced, and in September 2026 it replaced Clay's legacy Recipes and column templates. It is built for GTM engineers and RevOps teams who own the logic and want marketers, SDRs, and reps to run it without breaking it, and it is available on all paid plans.
Key Capabilities
- Single-column execution — Defined inputs such as a domain, a name, or a LinkedIn URL run a full multi-step sequence behind the scenes and return structured outputs in one column.
- Sandboxed publishing — Edits happen in a sandbox with a publish diff, tests run on imported rows or AI-generated cases, and published changes reach every table that uses the function.
- Composable and shareable — Functions can call other functions, carry tags for organization, and copy into other workspaces by link, which suits agencies running one method across clients.
- Governance and observability — Admins control who can edit the logic, and monitoring reports rows processed by source, credits per row, output fill rates, and run times in production.
- Agent and rep access — Toggling a function for API or MCP exposes it to coding agents through the Clay CLI and to reps in their AI assistants through 📝Clay MCP.
Getting Started
- Create a function from a group of existing enrichment columns or from scratch.
- Define its inputs, such as a company domain, a person's name, or a LinkedIn URL.
- Add enrichment steps, 📝Claygent agents, conditional logic, or nested functions.
- Test on imported rows or AI-generated tests, then publish.
- Add the function as a column in any table, audience, or workflow.
