# lanyulei/ferry

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lanyulei-ferry).**

6,610 stars · 1,151 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/lanyulei/ferry
- awesome-repositories: https://awesome-repositories.com/repository/lanyulei-ferry.md

## Description

Ferry is an open-source workflow engine designed to manage ticket-based processes across departments. It provides a platform for submitting, tracking, transferring, and closing tickets, with personal and all-ticket views for full lifecycle management. The system is built around a configurable process template designer that supports serial, parallel, and conditional node routing, enabling flexible approval sequences.

The platform distinguishes itself through dynamic variable-based approver assignment, where task approvers can be determined by organizational variables such as direct supervisor, department head, or HRBP. A task automation hook system triggers email alerts or custom scripts when workflow tasks reach defined points, reducing manual coordination overhead. Role-based access control restricts API, menu, and button permissions per user role, integrated with organizational structure management for users, roles, positions, and departments.

The system covers the full ticket lifecycle, including submission, transfer, urging, closure, and countersigning, with structured workflows that reduce inter-team coordination overhead. Process templates can be created with task hooks to generate ticket workflows, and task notifications are dispatched automatically at hook points.

## Tags

### Business & Productivity Software

- [Workflow Engines](https://awesome-repositories.com/f/business-productivity-software/workflow-engines.md) — Manages ticket-based processes with serial, parallel, and conditional routing for cross-department collaboration.
- [Variable-Based Approver Assignments](https://awesome-repositories.com/f/business-productivity-software/approval-workflows/variable-based-approver-assignments.md) — Assigns task approvers dynamically based on organizational variables like direct supervisor or department head. ([source](https://cdn.jsdelivr.net/gh/lanyulei/ferry@master/README.md))
- [Cross-Department Workflow Coordination](https://awesome-repositories.com/f/business-productivity-software/cross-department-workflow-coordination.md) — Reduces inter-team coordination overhead through structured ticket workflows and automated task routing.
- [Internal Ticket Platforms](https://awesome-repositories.com/f/business-productivity-software/customer-support-platforms/support-ticketing/internal-ticket-platforms.md) — Provides a platform for submitting, tracking, transferring, and closing tickets with personal and all-ticket views.
- [Lifecycle Managers](https://awesome-repositories.com/f/business-productivity-software/customer-support-platforms/support-ticketing/lifecycle-managers.md) — Tracks ticket states from submission through transfer, countersign, and closure across personal and global views.
- [Full Lifecycle Managers](https://awesome-repositories.com/f/business-productivity-software/ticket-thread-management/full-lifecycle-managers.md) — Submits, tracks, transfers, urges, closes, and countersigns tickets across personal and all-ticket views. ([source](https://cdn.jsdelivr.net/gh/lanyulei/ferry@master/README.md))
- [Approval](https://awesome-repositories.com/f/business-productivity-software/workflow-automation/approval.md) — Designs and runs custom approval workflows with serial, parallel, and conditional routing for cross-department tasks.

### Part of an Awesome List

- [Process Template Designers](https://awesome-repositories.com/f/awesome-lists/devtools/icon-sets/design-templates/process-template-designers.md) — Creates custom process templates with serial, parallel, or conditional node routing.

### Content Management & Publishing

- [Process Templates](https://awesome-repositories.com/f/content-management-publishing/text-template-processing/process-templates.md) — Creates reusable process templates with variable approvers and dynamic node routing logic.

### Development Tools & Productivity

- [Task Hooks](https://awesome-repositories.com/f/development-tools-productivity/task-execution/task-hooks.md) — Fires email alerts or custom scripts automatically when a workflow node reaches a defined hook point.

### Programming Languages & Runtimes

- [Dynamic Approver Assignments](https://awesome-repositories.com/f/programming-languages-runtimes/variable-assignments/dynamic-approver-assignments.md) — Assigns task approvers dynamically based on variables like direct supervisor or department head.

### Security & Cryptography

- [Role-Based Access Control](https://awesome-repositories.com/f/security-cryptography/role-based-access-control.md) — Restricts API, menu, and button access by assigning permissions to user roles with hierarchical policies. ([source](https://cdn.jsdelivr.net/gh/lanyulei/ferry@master/README.md))
- [Role-Based Access Control Systems](https://awesome-repositories.com/f/security-cryptography/role-based-access-control-systems.md) — Restricts API, menu, and button permissions per user role with organizational structure management.
- [Organizational Structure Management](https://awesome-repositories.com/f/security-cryptography/identity-access-management/identity-management/user-management/organizational-structure-management.md) — Creates, edits, deletes, and searches users, roles, positions, and departments with batch operations. ([source](https://cdn.jsdelivr.net/gh/lanyulei/ferry@master/README.md))

### Software Engineering & Architecture

- [Workflow Process Templates](https://awesome-repositories.com/f/software-engineering-architecture/task-templates/task-creation-templates/workflow-process-templates.md) — Creates custom process templates and task hooks to generate ticket workflows with serial, parallel, or conditional node routing. ([source](https://cdn.jsdelivr.net/gh/lanyulei/ferry@master/README.md))
- [Serial Parallel Conditional Routers](https://awesome-repositories.com/f/software-engineering-architecture/workflow-nodes/serial-parallel-conditional-routers.md) — Routes tasks through serial, parallel, or conditional nodes defined in a configurable process template.

### Networking & Communication

- [Workflow Task Notifications](https://awesome-repositories.com/f/networking-communication/messaging-notifications/task-result-notifications/workflow-task-notifications.md) — Sends email alerts or runs custom scripts when a workflow task reaches a hook point. ([source](https://cdn.jsdelivr.net/gh/lanyulei/ferry@master/README.md))
