WE
← Back to Documentation

Contributing

Help grow Workflow Elements by contributing your steps

Why Contribute?

By contributing your workflow steps to the registry, you:

  • • Help other developers save time and avoid reinventing the wheel
  • • Get feedback and improvements from the community
  • • Build your reputation as a contributor
  • • Ensure your commonly-used patterns are maintained and documented

Contribution Guidelines

1. Step Quality Standards

Your step should:

  • • Use the 'use step' directive
  • • Include proper TypeScript types for parameters and return values
  • • Have comprehensive JSDoc comments
  • • Use FatalError appropriately
  • • Handle errors gracefully with clear messages
  • • Validate inputs and environment variables
  • • Follow consistent naming conventions (kebab-case for file names)

2. Documentation Requirements

Include:

  • • Clear description of what the step does
  • • List of required dependencies
  • • Required environment variables with descriptions
  • • Usage example in a workflow
  • • Notes about any special configuration needed

3. Testing

Test your step in a real workflow before submitting. Verify that retries work correctly and error messages are helpful.

4. Categories

Assign your step to one of these categories:

  • notifications - Slack, email, Discord, etc.
  • ai - AI model integration, content generation
  • data - API calls, validation, transformation
  • storage - File uploads, database operations
  • documents - PDF generation, document processing

Submission Process

1. Prepare Your Step

Create your step following the guidelines above. Make sure it's well-documented and tested.

2. Fork the Repository

git clone https://github.com/workflow-registry/registry.git

3. Add Your Step

Add your step file to the steps/ directory:

steps/your-step-name.ts

4. Update Metadata

Add your step's metadata to the registry:

  • • Add entry to app/api/steps/route.ts
  • • Add detailed metadata to app/api/steps/[slug]/route.ts

5. Submit a Pull Request

Create a PR with:

  • • Clear title describing your step
  • • Description of what it does and why it's useful
  • • Screenshots or examples if applicable

Example Contribution

Here's what a complete contribution looks like:

File Structure

steps/
  send-teams-message.ts       # Your step code

app/api/steps/
  route.ts                     # Add to allSteps array
  [slug]/route.ts             # Add to stepMetadata object

Review Process

Once you submit a PR, maintainers will review your contribution for:

  • • Code quality and TypeScript usage
  • • Proper error handling with FatalError
  • • Documentation completeness
  • • Security considerations
  • • Usefulness to the community

Feedback may be provided, and you might be asked to make changes. Once approved, your step will be merged and become available to all users!

Need Help?

If you have questions about contributing:

  • • Open a GitHub Discussion
  • • Check existing steps for examples
  • • Review the Creating Steps guide

Ready to Contribute?

Start by creating a high-quality workflow step that solves a real problem. The community will thank you!

View on GitHub