Skip to content

Commit fa8c11d

Browse files
committed
fix: documentation improvement and nvigation
1 parent fe5d348 commit fa8c11d

40 files changed

+795
-917
lines changed
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
title: Platform Architecture
3+
description: ByteChef is an open-source, enterprise-ready platform for API integration and workflow automation.
4+
---
5+
6+
ByteChef is built on a scalable, modular architecture designed to handle enterprise-grade workflow automation and integrations. The platform provides a flexible foundation that supports multiple deployment models, from cloud-hosted to on-premises deployments.
7+
8+
## System Architecture Overview
9+
10+
The ByteChef platform is composed of several interconnected layers that work together to deliver workflow automation capabilities.
11+
12+
**API & Integration Layer** : This layer handles communication with external services and applications. It provides comprehensive REST and GraphQL APIs that allow seamless integration with over 500+ pre-built connectors and custom integrations through our component system.
13+
14+
**Workflow Engine** : The core execution engine processes workflow definitions, manages task execution, handles data transformations, and orchestrates component interactions. It supports parallel execution, conditional branching, looping, and error handling.
15+
16+
**Component System** : A modular framework for building integrations. Each component encapsulates actions, triggers, and connections to external services. Components can be pre-built (Slack, GitHub, Salesforce, etc.) or custom-built using our developer framework.
17+
18+
**Data & State Management** : Manages workflow execution state, handles data persistence, processes data mappings and transformations, and maintains audit logs for compliance and debugging.
19+
20+
**Runtime & Execution** : Provides execution environments for workflows, manages job scheduling and queueing, handles resource allocation, and enables both synchronous and asynchronous execution patterns.
21+
22+
## Multi-Tier Deployment Architecture
23+
24+
ByteChef supports flexible deployment options to meet different organizational needs.
25+
26+
**Cloud Deployment** : ByteChef Cloud is our managed, hosted solution. Users access the platform via a web-based interface with zero infrastructure management. Ideal for teams wanting quick time-to-value without managing their own infrastructure. Includes automatic scaling, security patches, and regular updates.
27+
28+
**Self-Hosted Deployment** : Organizations can deploy ByteChef on their own infrastructure using Docker, Kubernetes, AWS, Azure, Google Cloud, or DigitalOcean. Provides complete control over data, infrastructure, and customization. Suitable for enterprises with specific compliance, security, or data residency requirements.
29+
30+
## Core Components
31+
32+
**Web Interface** : User-friendly workflow builder with drag-and-drop component configuration, real-time execution monitoring, and workflow management capabilities. Built with React and TypeScript for a responsive, modern experience.
33+
34+
**API Server** : Handles all API requests, manages authentication and authorization, processes workflow definitions, and orchestrates execution. Provides REST endpoints for programmatic access to all platform features.
35+
36+
**Workflow Engine** : Processes workflow definitions in JSON format, manages execution state and transitions between tasks, handles error recovery and retries, and supports complex control flow patterns including branches, loops, and parallel execution.
37+
38+
**Component Registry** : Centralizes all available components and their metadata, manages component versioning and updates, and provides discovery and configuration interfaces for users.
39+
40+
**Data Storage** : Persists workflow definitions, execution history, audit logs, and user data. Supports multiple database backends (PostgreSQL, MySQL, etc.) and file storage options.
41+
42+
**Message Queue** : Handles asynchronous task processing, manages job scheduling and prioritization, and enables decoupled processing for improved scalability and reliability.
43+
44+
## Workflow Execution Flow
45+
46+
When you trigger a workflow, the platform executes it through a well-defined pipeline.
47+
48+
1. **Trigger Activation** : A webhook, schedule, or manual trigger initiates workflow execution
49+
2. **Workflow Parsing** : The engine loads and parses the workflow definition
50+
3. **Input Processing** : Trigger data is prepared and validated
51+
4. **Component Execution** : Tasks execute sequentially or in parallel based on workflow configuration
52+
5. **Data Transformation** : Data flows between components using mapping expressions
53+
6. **Conditional Logic** : Branches are evaluated and appropriate paths are taken
54+
7. **Output Generation** : Final results are formatted and returned
55+
8. **State Persistence** : Execution state and logs are saved for monitoring and debugging
56+
57+
## Integration Architecture
58+
59+
ByteChef connects applications through a standardized component model.
60+
61+
**Connection Management** : Securely stores API credentials, OAuth tokens, and authentication details. Supports multiple authentication methods (API keys, OAuth 2.0, Basic Auth, custom).
62+
63+
**Component Interface** : Standardized interface that all components implement, ensuring consistency across 500+ integrations. Each component defines its actions, triggers, and required properties.
64+
65+
**Data Mapping** : Powerful expression engine allows transforming and mapping data between components. Supports JavaScript expressions, field references, and utility functions for data manipulation.
66+
67+
**Error Handling** : Components can define retry strategies, timeout behaviors, and error recovery patterns. The engine supports both component-level and workflow-level error handling.
68+
69+
## Scalability & Performance
70+
71+
ByteChef is designed to handle enterprise-scale automation demands.
72+
73+
**Horizontal Scaling** : The stateless design of the API server and execution engine allows deploying multiple instances behind a load balancer for handling increased load.
74+
75+
**Asynchronous Processing** : Heavy operations are queued and processed asynchronously, preventing blocking and ensuring responsive APIs.
76+
77+
**Resource Management** : Execution is optimized for efficiency with configurable timeouts, concurrent execution limits, and resource allocation policies.
78+
79+
**Data Efficiency** : Large payloads are handled efficiently with streaming support, compression options, and smart caching strategies.
80+
81+
## Security Architecture
82+
83+
Security is built into every layer of the platform.
84+
85+
**Authentication** : Supports multiple authentication methods including OAuth 2.0, API keys, and single sign-on (SSO) integration.
86+
87+
**Authorization** : Fine-grained RBAC (Role-Based Access Control) allows controlling what users can access and modify at the project and workflow levels.
88+
89+
**Data Protection** : Credentials are encrypted at rest and in transit. Sensitive data in logs is masked. Audit logs track all actions for compliance.
90+
91+
**API Security** : Rate limiting, input validation, and CORS protection prevent abuse. All API endpoints require authentication.
92+
93+
## Monitoring & Observability
94+
95+
Complete visibility into workflow execution and system health.
96+
97+
**Execution Tracking** : Real-time monitoring of workflow runs with detailed execution logs showing each step, data transformations, and timing information.
98+
99+
**Performance Metrics** : Track workflow execution duration, error rates, and component performance. Identify bottlenecks and optimization opportunities.
100+
101+
**Audit Logging** : Comprehensive logs of all system activities for compliance, debugging, and security investigation.
102+
103+
**Alerting** : Configurable alerts for workflow failures, performance issues, and security events enable proactive issue management.
104+
105+
## Development & Extensibility
106+
107+
Build custom integrations and extend the platform.
108+
109+
**Component Development** : Developer SDK for building custom components in TypeScript/JavaScript. Create actions, triggers, and connections for proprietary or niche systems.
110+
111+
**API Access** : Full API access enables building custom applications on top of ByteChef or integrating it into existing systems.
112+
113+
**Webhooks** : Send workflow data to external systems in real-time using webhooks. Enables two-way integrations and event-driven architectures.
114+
115+
**Configuration as Code** : Define workflows in JSON format, enabling version control, CI/CD integration, and infrastructure-as-code practices.
116+
117+
## Data Flow & Processing
118+
119+
Understanding how data flows through ByteChef helps design efficient workflows.
120+
121+
Data enters through triggers (webhooks, schedules, manual), flows through components where it's transformed and processed, and exits through actions that update external systems or return results. At each step, data can be validated, filtered, and transformed using expressions. The platform maintains execution context throughout the workflow, allowing components to reference outputs from previous steps.
122+
123+
## Technology Stack
124+
125+
ByteChef leverages proven, open-source technologies.
126+
127+
**Backend** : Java/Spring Boot for the core platform, providing stability, performance, and extensive ecosystem support.
128+
129+
**Frontend** : React with TypeScript for a modern, responsive user interface.
130+
131+
**Database** : PostgreSQL as the primary data store, with support for other databases.
132+
133+
**Message Queue** : RabbitMQ or similar for asynchronous job processing and reliable message delivery.
134+
135+
**Container** : Docker for containerization, enabling deployment flexibility across cloud and on-premises environments.
136+
137+
## Architecture Benefits
138+
139+
The modular, layered architecture provides several advantages.
140+
141+
**Scalability** : Add more nodes to handle increased load without redesigning the system.
142+
143+
**Reliability** : Separated concerns and async processing prevent cascading failures.
144+
145+
**Flexibility** : Modular design allows customization at every level without touching core platform code.
146+
147+
**Maintainability** : Clear separation of concerns makes the system easier to understand and maintain.
148+
149+
**Security** : Multiple layers of security controls with defense in depth approach.
150+
151+
**Performance** : Optimized data flow, caching strategies, and async processing ensure fast execution.
152+
153+
---
154+
155+
For information on deploying ByteChef in your specific environment, see the [Deployment](/deployment/environment_variables) section. For details on building custom integrations, visit the [Developer Guide](/developer-guide).

docs/content/docs/automation/glossary.mdx renamed to docs/content/docs/(getting-started)/glossary.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: Glossary
33
description: Terms used in ByteChef platform.
44
---
55

6+
In this document, you will find a list of terms used in ByteChef's platform. Here are the definitions:
7+
68
## Projects
79

810
Projects are containers that hold one or more workflows. Projects help organize and manage workflows, making it easier to group related automation processes together. Users can create, edit, duplicate, import, and delete projects to streamline their automation efforts.
@@ -15,7 +17,7 @@ Workflows are a series of actions and triggers that automate processes within th
1517

1618
In ByteChef, a component is a modular building block that encapsulates specific functionalities within the platform. Each component is designed to interact with external services or perform particular tasks, making it an essential part of creating workflows.
1719

18-
Components are composed of two main elements actions and triggers.
20+
Components are composed of two main elements: actions and triggers.
1921

2022
By combining actions and triggers, components enable users to automate complex processes and integrate various services seamlessly. Components are designed to be reusable and extendable, allowing users to customize and expand their workflows according to their needs.
2123

@@ -29,4 +31,4 @@ These are events that initiate a workflow. Triggers listen for specific occurren
2931

3032
## Actions
3133

32-
These are operations that a component can perform. Actions typically involve sending data to an external service, retrieving information, or manipulating data within the workflow. For example, an action might send an email, update a database record, or fetch user details from an API.
34+
These are operations that a component can perform. Actions typically involve sending data to an external service, retrieving information, or manipulating data within the workflow. For example, an action might send an email, update a database record, or fetch user details from an API.

docs/content/docs/(platform)/introduction.mdx renamed to docs/content/docs/(getting-started)/introduction.mdx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
---
22
title: Introduction
3-
description: Introducing ByteChef, an open-source platform for AI agents, workflow automation, and app integration.
3+
description: This is the documentation for ByteChef, an open-source workflow automation platform that connects your entire tech stack with AI-powered intelligence.
44
icon: Album
55
---
66

77
import {Card, Cards} from "fumadocs-ui/components/card";
88
import {Blocks, LayoutTemplate, Terminal, Workflow} from "lucide-react";
99
import {Callout} from "fumadocs-ui/components/callout";
1010

11-
ByteChef has different parts:
11+
This documentation covers everything from setup to usage and development. It's a work in progress but all contributions are welcome.
12+
13+
## Pick Your Path
1214

1315
<Cards>
1416
<Card icon={<Workflow className="text-purple-300" />} title='Automation' href="/automation">
@@ -29,7 +31,7 @@ ByteChef has different parts:
2931
</Cards>
3032

3133
<Callout title="Want to learn more?">
32-
Read our in-depth [Platform Overview](/platform-overview) introduction.
34+
Read our in-depth [Platform documentation](/platform/overview).
3335
</Callout>
3436

3537
## Community support
@@ -38,7 +40,7 @@ For help, you can use one of these channels to ask a question:
3840

3941
- [Discord](https://discord.gg/VKvNxHjpYx) - Discussions with the community and the team.
4042
- [GitHub](https://github.com/bytechefhq/bytechef/issues) - For bug reports and feature requests.
41-
- [Twitter](https://twitter.com/bytechefhq) - Get the product updates easily.
43+
- [X/Twitter](https://twitter.com/bytechefhq) - Get the product updates easily.
4244

4345
## Roadmap
4446

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"title": "Getting Started",
3+
"description": "Get started with ByteChef",
4+
"icon": "Rocket",
5+
"pages": [
6+
"---Getting Started---",
7+
"introduction",
8+
"what-is-bytechef",
9+
"quickstart",
10+
"architecture",
11+
"glossary"
12+
]
13+
}
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
---
2+
title: "Quick Start"
3+
description: "This guide walks you through the basics of ByteChef in a few minutes. You'll learn how to build a workflow quickly, so no much configuration needed."
4+
---
5+
6+
In this tutorial, you'll learn:
7+
8+
- How to build a workflow quickly with ByteChef's Workflow Builder
9+
- How to add and configure a component with data expressions
10+
- How to execute workflow automations
11+
12+
13+
## Pick Your Platform
14+
15+
You have two ways to use ByteChef:
16+
17+
- **[ByteChef Cloud](https://app.bytechef.io/)**: We host it. Zero installation. Best for testing and getting familiar with the platform. We'll use this for this guide.
18+
19+
- **Your own infrastructure (Self-Hosted)**: Deploy and run ByteChef yourself. Supported on:
20+
21+
- [Docker](/self-hosting/docker)
22+
- [Kubernetes](/self-hosting/kubernetes)
23+
- [AWS EC2](/self-hosting/aws-ec2)
24+
- [AWS ECS](/self-hosting/aws-ecs)
25+
- [Azure Container Instance](/self-hosting/azure-container-instance)
26+
- [Google Cloud Run](/self-hosting/google-cloud-run)
27+
- [DigitalOcean](/self-hosting/digitalocean)
28+
29+
If you're ready to selfhost, you can pick any of the platforms above for detailed setup instructions.
30+
31+
In this quickstart guide, we'll be working with the Cloud instance so you can dive in immediately. You can switch to self-hosted instance anytime after you finish this guide.
32+
33+
## Step 1: Create a Project
34+
35+
- Go to your ByteChef dashboard on the [Cloud](https://app.bytechef.io/) or Self-hosted instance
36+
- Click on `Create Project`
37+
- Enter your project's name and description click `Create`
38+
39+
## Step 2: Create Your First Workflow
40+
41+
Inside your project:
42+
43+
- Click the <img
44+
src="/addworkflow.png"
45+
alt="add workflow"
46+
width="100"
47+
height="20"
48+
style={{
49+
display: 'inline',
50+
verticalAlign: 'middle',
51+
margin: '0 4px'
52+
}}
53+
/> button in the project pane
54+
- Give it a label (e.g., "Send Welcome Email")
55+
- Click `Save`.
56+
57+
Now, you now have a blank canvas in your workflow; let's build something.
58+
59+
## Step 3: Add a Trigger
60+
61+
Every workflow in ByteChef starts with a trigger, it's the event that kicks off your automation.
62+
63+
- Click the **+** button on the canvas
64+
- Search for and select Manual Trigger (this lets you start the workflow by testing or deploying)
65+
- Click to confirm
66+
67+
<div style={{ width: '300px' }}>
68+
<img src="/manualtrigger.png" alt="manual trigger" style={{ width: '100%', height: 'auto' }} />
69+
</div>
70+
71+
## Step 4: Add and Configure Your First Component
72+
73+
Now, let's add a component that does something. Let's use the Spotify component to create a playlist and share with your teammates on Slack.
74+
75+
- Click the + icon after the Manual Trigger
76+
- Search for Spotify
77+
- Select **Spotify** and click to add it
78+
- Select an action from the dropdown (the **Create Playlist** action)
79+
- Configure the component:
80+
- Make a connection with the component by providing your Spotify Client ID and Client Secret
81+
- In the properties panel, provide the playlist name and description
82+
- Select if you want the playlist to be public or private
83+
- Select if you want the playlist to be collaborative or not
84+
- Add the **Slack** component and select the **Send Channel Message** action
85+
- Configure the component:
86+
- Make a connection with the component by providing your Slack Bot User OAuth Access Token
87+
- In the properties panel, provide the channel ID and message.
88+
- In the message section of the Slack properties panel, click on the message tab and enter this expression:
89+
90+
```
91+
🎵 New playlist created: Slack Shared Songs
92+
Playlist:${spotify_1.external_urls.spotify}
93+
Start adding your favorite songs!
94+
```
95+
96+
## Step 5: Test Your Workflow
97+
98+
Click the test button at the top right corner of the workflow. ByteChef runs your workflow:
99+
100+
- The Manual Trigger activates the workflow
101+
- The Spotify component creates a playlist
102+
- The Slack component sends a message to a channel
103+
104+
You'll see the execution results below:
105+
106+
![worklow execution](/workflowexecution.png)
107+
108+
Check your configured Slack channel to see a message in Slack:
109+
110+
<div style={{ width: '400px' }}>
111+
<img src="/spotifyslackmessage.png" alt="slack message" style={{ width: '100%', height: 'auto' }} />
112+
</div>
113+
114+
## What You've Built
115+
116+
Your workflow now looks like:
117+
118+
```
119+
Manual Trigger → Spotify (Create Playlist) → Slack (Send Message)
120+
```
121+
122+
The demo in this quickstart demonstrates the core concept of automation:
123+
124+
- **Trigger**: Something starts the workflow
125+
- **Components**: Do the actual work (create, fetch, send)
126+
- **Expressions**: Pull data between components using `{{ $json.fieldName }}`
127+
128+
## Next Steps
129+
130+
Here are a few things you can explore next:
131+
132+
- [Build Workflows](/automation/build-workflows)
133+
- [Browse 200+ Components](/reference/components)
134+
- [Deploy your workflow](/automation/deploy)
135+
- [Monitor Executions](/automation/monitor)

0 commit comments

Comments
 (0)