Recently, I’ve been exploring the world of automation basically because I got tired of working with tools and handling tasks manually by writing scripts to make things happen. However, I wanted an easier approach; something visual and flexible, and my search led me to the world of automation workflows.
Along the way, I found a life-changing tool for workflow automation, ByteChef, that enabled me to integrate different tools and build workflows in a straightforward way.
What is ByteChef?
Bytechef is an open-source workflow automation and integration tool that lets you work with APIs and tools; it’s a tool that visually and seamlessly orchestrates connections with your favorite tools. With ByteChef, you can easily work with your best tools without necessarily writing a single line of code.
So, instead of manually working with data from different tools, or creating complex processes, ByteChef provides an interactive interface and robust capabilities to bring your automation ideas to life.
ByteChef’s capabilities aren't just limited to building workflow automations, it also enables you to work with different APIs of your choice. For example, you can connect APIs into your application with ByteChef. In this blog post, we won’t be focusing on this feature as we will have a deep look into the workflow automation feature.
ByteChef can be ran in two ways: cloud (we manage it for you) and self-hosted (you run it on Docker). Cloud is easier to start with. If you want to self-host, you can check the GitHub repo for setup steps. For this guide, we'll use the Cloud approach, but everything works the same on both.
Before moving to the next section of this article, I just dropped a video on YouTube where you can see how to create your first workflow in ByteChef. In this video, you’ll learn about ByteChef and how to work with it - you can see it as a video version of this blog post.
Key Features of ByteChef
Even while ByteChef provides the workflow automation feature, there are other great features that work with the workflow automation feature. In this section of the article, we’ll have a look at features that makes up the workflow automation:
Multi-Application Integration: With ByteChef, you can work with over 200+ tools including Gmail, Slack, Google Drive, and OpenAI. The fun of this integration is that you're not locked into a single ecosystem. Whether you're using productivity tools like Google Workspace, communication platforms like Slack, or AI services like OpenAI, ByteChef connects them all seamlessly.
Visual Workflow Builder: ByteChef lets you design and configure workflows using an interactive interface without writing code. This doesn’t mean you aren’t allowed to write code; while using Bytechef, you don’t need to write complex code - in fact, writing code is optional when you’re using ByteChef. The main work while using ByteChef is just adding components, triggers, and configuring them.
Flow Logic: ByteChef enables you to create smart workflows with branching logic, conditions, and decision points. This is what transforms workflows from simple into smart automation. You can create complex decision trees with multiple conditions; in ByteChef, we have different flows:
Condition: Here’s a very basic flow; it checks something (for example; if something is urgent or not) and goes left if true, right if false. Pretty simple.
Branch: This flow is very similar to condition, but handles more than just true/false. You can have multiple different paths.
Each: When you have a list of things, this flow runs the same steps for each item. For example, if you have 10 emails, it processes all 10 the same way.
Loop (In Progress): Repeats the same thing over and over until something changes. Useful if you need to keep trying until it works.
Map (In Progress): It takes a list and transforms every item in it. Changes the format or adds information to each item.
Fork/Join: It helps run multiple things at the same time instead of one after another. Also help save time by doing parallel work.
Parallel: This flow is quite similar to fork/join. It runs multiple tasks at once.
Error Handler: If something breaks, this flow catches it and does something else instead of crashing.
Wait for Approval: Pauses and waits for a user’s approval before moving forward. Good for important decisions.
Subflow (In progress): This flow calls another workflow from within your workflow and helps organize complex workflows into smaller pieces.
For the conditions themselves, ByteChef uses SpEL (Spring Expression Language) to create and manage them. You can do simple stuff like checking if something equals something, or more complex stuff like math. An example of condition expressions are: anthropic_1.urgent == true and email.from == 'boss@company.com'.
- Trigger-Based Automation: This compliments workflows to take actions automatically based on certain events for example; taking new emails, form submissions, or scheduled times.
- Data Transformation: Process and transform data as it moves between applications using built-in tools.
- AI Integration: Leverage AI capabilities to make your workflows smarter and more intelligent.
Core Concepts Of ByteChef
Before building your first workflow, there are things you need to know about the basic pieces that makes up a workflow in ByteChef, let’s have a look at them in this section of the blog post:
Triggers: These are events that start your workflow; it’s the first thing after creating your workflow. An example of a trigger is when a new email arrives, a form being submitted, or a scheduled time is reached. Triggers are just like the "when" of your automation; it initiates automations.
Actions: Actions are similar to triggers, but these are tasks each component performs. An action could be sending a message, creating a file, analyzing text with AI, or updating a record. Actions are the specific task a component should perform. In ByteChef, the action you want depends on the component you’re working with. Some components even enable you to create custom actions.
Components: These are the building blocks, you can also refer to them as nodes. Each component connects to an external app (like OpenAI, Google Drive, or even Spotify) and lets you use that app within a workflow. Components have two parts: triggers and actions; to work with a component, you need to connect with the tool and configure properties.
Projects: Projects are like folders that hold your workflows - it’s a place where you can keep all your workflows. A project can hold as many workflows as you want.
Workflows: In ByteChef, workflows are the actual automation. A workflow is a series of steps and triggers that work together to automate something. It's the whole thing here, but the automation process itself.
Connections: ByteChef uses connections to work with services, they’re like authentication links to third-party applications, allowing ByteChef to interact with your accounts securely. With ByteChef, you can connect services once, and ByteChef remembers it so workflows can use them securely.
These are are the major concepts of ByteChef and all you need to know before building your first workflow in ByteChef - now, let’s put what we know to work!
Setting Up Your First Workflow: An Email and AI Triage Example
Now, let’s build an actual workflow. In this guide, we will be building an automated email system that checks incoming emails for urgency and routes them to different Slack channels through the flows and Anthropic AI for smart decision making. This workflow will showcase the capabilities of the key concepts you'll use in building basic and complex automations.
Step 1: Create a New Project
As mentioned earlier, a project in ByteChef is the folder where the workflow lives.
- In the dashboard, head over to the Projects tab
- Click on the New Project button at the top right corner.
- Fill the necessary credentials such as its name, category, description, and tags.
Create project modal via ByteChef’s Dashboard.
Step 2: Create a New Workflow
When done creating your project, you can create a new workflow by clicking the + Workflow button in the project’s pane. When clicked, a modal should pop up requesting for the name and description of your workflow - this workflow will be saved in the project where it was created.
Create new workflow modal via ByteChef’s Dashboard.
Step 3: Set Up Your Trigger
After creating the workflow, the first step is to configure the trigger in the workflow. The configurable manual trigger is the first thing you see in the workflow, now the first thing to do is to change the trigger and make configurations.
Click the replace icon when you hover on the trigger button
Because of what we’ll be working on, search for and select "Gmail" when you want to replace the trigger
Choose the trigger type: "New Email"
Connect to Gmail’s OAuth.
-
Configure the trigger parameters:
- Format: Simple (for straightforward configuration)
- Topic Name: Based on what is configured in your Google Pub/Sub.
This setup means your workflow will be activated whenever a new email arrives.
Step 4: Add a new component
Now that emails are triggering your workflow, let's add the Anthropic component to determine if each email is urgent.
- Click the + icon button to add a new task
- Search for and select "Anthropic" (the AI provider)
- Connect Anthropic using the your client ID (API Key)
- Select "Ask" as the action type
-
Configure the AI task in the properties pane:
- Model: Choose any Anthropic models of your choice
- Format: Simple
- Response Format: Structured Data
- Max Models: The maximum number of token to generate in the chat completion.
- User Prompt: Create an instruction like:
Analyze this email and determine if it is urgent with "This is urgent" or "This is not urgent" Email Subject: ${trigger_1.subject} Email From: ${trigger_1.from} Email Body: ${trigger_1.bodyPlain}
- The
${trigger_1}syntax references data from your Gmail trigger. - In the Anthropic component, create a schema for the incoming conditional flow.
- Add a new data pill and select Boolean as the pill type - give it a title.
This action sends each email to Claude for analysis, which will respond with a clear classification.
Step 5: Add Conditional Flow
With the urgency classified in the Anthropic component, now we need to route emails to different destinations based on the result.
- Click the add icon in the workflow
- Select "Condition" in the flows tab as the flow type
- Configure the condition:
- Set "Raw Expression" to TRUE to enable custom logic
- Enter the expression:
anthropic_1.isUrgentfrom what we created in the schema builder - This checks if the AI response equals "URGENT".
This creates a branch point in your workflow. Depending on whether the condition is true or false, different actions will execute.
Step 6: Define the True Branch (Urgent Emails)
Here’s for emails classified as urgent:
- Under the "True" section, add a new component
- Search and select the "Slack" component
- Choose "Send Channel Message" for the action
-
Configure:
- Give the component a name
- Channel: Select your "urgent-emails" channel (or create a channel where you want urgent emails to be delivered)
- Message: Create an informative message like:
URGENT EMAIL *From:* ${trigger_1.from} *Subject:* ${trigger_1.subject} *Classification:* *Reason:* Requires immediate attention
Step 6: Define the False Branch (Non-Urgent Emails)
For emails classified as not urgent:
- In the "Case False" section, add a new task
- Select "Slack" and "Send Channel Message"
-
Configure:
- Give the component a name
- Channel: Select your "routine-emails" channel (or any other channel where you want unimportant messages to be delivered)
- Message: Create a message like:
New Email Received *From:* ${trigger_1.from} *Subject:* ${trigger_1.subject} *Classification:* *Reason:*
Now, your workflow should look like this:
Step 7: Test Your Workflow
Before activating your workflow:
- Review the entire flow to ensure it makes sense
- Click the "Test" button at the top-right corner of the workflow, to test the workflow with sample data
- Check that the flow follows the correct path
- Verify that messages are formatted correctly
- When testing, you should see something like this in the Slack channel where you want non-urgent messages to be delivered:
New Email Received
From: sample from
Subject: sample subject
Classification:
Reason:
Step 8: Publish and Deploy
Once you're satisfied with the workflow:
- Click the Publish button
- Navigate to the Deployments tab in the dashboard
- Click New Deployment
- Select the project you want to deploy, the version, and add other necessary credentials
- Ensure the connections are configured properly
- Enable the workflow
- Send a test urgent/non-urgent email to your configured email address
- Monitor the configured Slack channels to verify emails are being routed correctly
- Check the workflow logs to see execution history and identify any issues
If a message is urgent, it’ll drop in the expected channel in this format:
Additionally, to monitor the deployment, you can check your logs in the workflow executions section of the dashboard
Now that you have your first workflow running, there are ways to make the most of it. You can add error handling to catch failures, so if something breaks, your workflow knows what to do instead of just stopping.
To achieve this, you can try creating a loop to process multiple emails at once if you want to batch operations, or even instruct your LLM to make sentiment detection and content categorization to make your workflow even smarter.
Conclusion
ByteChef enables you to automate routine tasks and create smart workflows that save time and reduce errors. Your first workflow is just the beginning. You can create more workflows to be better with automation. In ByteChef, the best way to understand the platform better is by playing around with it - as you become more comfortable with the platform, you'll discover countless ways to streamline your work and work with your favourite applications.
The best way to successful automation is starting simple, testing thoroughly, and gradually building more complex workflows as your confidence and needs grow.
Thanks for taking the time to learn about workflow automation with ByteChef in this blog post. Please, do well to use ByteChef and join the community, can’t wait to have you join the community.
Lastly, if you ever have any issues navigating ByteChef, refer to the documentation.
Happy automating! 🛠️








Top comments (1)
This is amazing work 🔥