Skip to content

stherrien/gorax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

72 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Gorax

Modern Workflow Automation Platform

Build, deploy, and manage complex workflows with ease. No code required.

License: MIT Go Version CI Security CodeQL codecov Sponsor

Getting Started β€’ Documentation β€’ Examples β€’ Contributing


✨ Features

🎨 Visual Workflow Builder

Drag-and-drop interface for creating workflows. No coding required.

πŸ”— Rich Integrations

Connect with Slack, GitHub, Jira, PagerDuty, HTTP APIs, webhooks, and more.

⚑ Real-time Execution

Monitor workflows as they run with live updates and detailed logs.

πŸ”€ Loop & Parallel Actions

Execute steps in parallel with fork/join semantics and iterate over collections.

πŸ” Secure by Default

Enterprise-grade security with encrypted credentials (AWS KMS) and RBAC.

πŸ‘₯ Human Tasks

Approval workflows with timeout escalation and notification support.

πŸ“Š Complete Observability

OpenTelemetry tracing, Prometheus metrics, Sentry error tracking.

πŸ—‘οΈ Retention Policies

Automatic cleanup of old executions with configurable retention periods.


πŸš€ Quick Start

# Clone the repository
git clone https://github.com/stherrien/gorax.git
cd gorax

# Start dependencies (PostgreSQL + Redis)
make dev-simple

# Configure environment
cp .env.example .env

# Run migrations
make db-migrate

# Start the API server
make run-api-dev

# In another terminal, start the frontend
cd web && npm install && npm run dev

Open your browser β†’ http://localhost:5173

πŸ“– Full guide: Getting Started


🎯 Use Cases

πŸ”§ DevOps Automation

  • Deploy notifications
  • CI/CD pipeline updates
  • Infrastructure monitoring
  • Automated rollbacks

πŸ’Ό Business Processes

  • Approval workflows
  • Data synchronization
  • Report generation
  • Automated notifications

🎫 IT Operations

  • Incident response
  • Ticket routing
  • Alert management
  • Service health checks

πŸ“ˆ Customer Support

  • Automated responses
  • Ticket escalation
  • SLA monitoring
  • Customer notifications

πŸ”Œ Integrations

Available Now

Integration Send Receive Actions
Slack βœ… βœ… Messages, DMs, Reactions, Updates
GitHub βœ… βœ… Issues, PRs, Webhooks
Jira βœ… βœ… Issues, Transitions, Comments
PagerDuty βœ… - Incidents, Alerts
HTTP/REST βœ… βœ… Any API endpoint
Webhooks βœ… βœ… Inbound & outbound with filtering
JavaScript βœ… - Custom code execution (Goja sandbox)
Email βœ… - SMTP & AWS SES support

Enterprise Features

Feature Description
Human Tasks Approval workflows with escalation
RBAC Role-based access control with audit logging
Sub-workflows Nested workflow execution with recursion protection
Schedules Cron-based workflow scheduling
Credentials Encrypted vault with AWS KMS integration

πŸ“– Example Workflow

Create a deployment notification in minutes:

{
  "nodes": [
    {
      "type": "trigger:webhook",
      "config": { "path": "/deploy" }
    },
    {
      "type": "slack:send_message",
      "config": {
        "channel": "C1234567890",
        "text": "πŸš€ Deploying {{trigger.body.version}}"
      }
    }
  ]
}

More examples: examples/


πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                      React Frontend                          β”‚
β”‚              Visual Workflow Builder + Dashboard             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚ REST API
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       Go Backend                             β”‚
β”‚            Chi Router β€’ Executor β€’ Integrations              β”‚
β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
      β”‚                                        β”‚
      β–Ό                                        β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ PostgreSQL  β”‚                        β”‚    Redis    β”‚
β”‚  Workflows  β”‚                        β”‚    Cache    β”‚
β”‚  Executions β”‚                        β”‚   Sessions  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Development

Prerequisites

  • Go 1.23+
  • Node.js 18+
  • PostgreSQL 14+
  • Redis 6+

Commands

make               # Show all available commands
make all           # Install deps and build
make test          # Run all tests
make lint          # Run linters
make build         # Build binaries

Testing

# Backend tests
make test

# Backend tests with coverage
make test-coverage

# Frontend tests
cd web && npm test

Development guide: Local Development


πŸ“š Documentation

Resource Description
Getting Started Installation and setup
Your First Workflow Build a workflow in 5 minutes
Monitoring Guide Prometheus & Grafana setup
Slack Integration Complete Slack guide
API Reference REST API documentation
Contributing Join the community

Full docs: docs/


🀝 Contributing

We love contributions! Check out our Contributing Guide.

# 1. Fork the repo
# 2. Create your feature branch
git checkout -b feature/amazing-feature

# 3. Write tests (we follow TDD)
make test

# 4. Commit your changes
git commit -m 'Add amazing feature'

# 5. Push and open a PR
git push origin feature/amazing-feature

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ’– Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

[Become a sponsor]


πŸ™ Acknowledgments

Built with:


πŸ“ž Support


Made with ❀️ by Shawn Therrien

⭐ Star us on GitHub β€” it motivates us a lot!

About

Gorax is a general-purpose workflow automation platform designed as a multi-tenant SaaS application. It enables users to build, execute, and manage automated workflows through a visual drag-and-drop interface.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors