Skip to main content
Creating a custom node involves three steps: defining Zod schemas for inputs and outputs, implementing an executor function, and registering the node with the registry.

1. Define Schemas

Use Zod to define your input and output schemas:
Schema tips:
  • Use .optional() for non-required fields
  • Use .default(value) for defaults
  • Use z.enum([...]) for dropdown selections
  • Use .describe('...') for field descriptions (shown in playground)
  • Nest z.object() for collapsible sections in the UI

2. Create the Node

Use defineNode to create a fully typed node:

3. Choose a Category

4. Use Credentials

Access credentials via context.credentials:
Available credential services: apollo, twitter, forumScout, dataForSeo, openai, anthropic.

5. Use ExecutionContext

The context object provides access to workflow state:

6. Register the Node

7. Test the Node

File Organization

Organize nodes by category: