Overview
Custom Services allow you to create reusable business logic and execution capabilities within Yeeflow applications.
With Custom Services, you can build custom operations that can be reused across different business scenarios, such as:
Data transformation
Custom calculations
Business rule processing
Integration operations
Workflow automation logic
AI-powered business actions
Once published, Custom Services can be invoked from workflows, AI tools, and other application scenarios.
Before You Start
Before creating a Custom Service, make sure:
You have permission to manage application settings.
You are working in an application where Custom Services are available.
You understand the input and output data required by your service.
When to Use Custom Services
Use Custom services when you need to create reusable logic that can be used across application scenarios.
Common use cases include:
Importing data from Excel into a Yeeflow Data List
Converting Sub List data into an HTML table for emails
Running custom calculations
Transforming data before it is used in a workflow
Calling external services through configured connections
Preparing reusable logic for AI tools or workflow actions
Ways to Create a Custom Service
There are two main paths to create a Custom service.
Option 1: Create from New Application Resource
You can create a Custom service directly from the application resource creation page.
Steps
Open your Yeeflow application.
Click the Add new component button.
In New application resource, select Custom services.
The Custom services card is shown as an AI-powered application resource with the description:
Create reusable custom services for integrations, automation, and AI tools.
Choose how you would like to create the Custom service.
You will see three available options:
Create service
Import service
Create from templates
Create Service
Choose Create service if you want to start from scratch and configure everything yourself.
Steps
Field | Description |
Service name | Enter the name of the Custom service. |
Description | Describe what the service does. This is required for AI tool discovery. |
Implementation type | Select the implementation type. Currently, the available option is Code-based (JavaScript). |
After the service is created, you can continue configuring the service logic in the code editor.
Import Service
Choose Import service if you already have an existing service definition file.
Steps
Select Import service.
In the Import service window, drag and drop a file or click choose a file to upload.
Make sure the file is in the supported format.
The upload window indicates:
*.ycs formatted files are supported.
Use this option when you want to reuse a service that was exported from another application or environment.
Create from Templates
Choose Create from templates if you want to start from a pre-built Custom service template.
Templates help you quickly create common service scenarios without building everything from scratch.
Available templates include:
Insert Excel Data to Data List
This template reads Excel data and inserts rows into a Yeeflow Data List.
Use this template for scenarios such as:
Importing supplier records
Uploading product catalogs
Creating employee records in bulk
Migrating existing spreadsheet data into Yeeflow
Template description:
A backend custom service template for reading Excel data and inserting rows into a Yeeflow data list.
Sub List to HTML Table
This template converts Yeeflow Sub List JSON into a professional, email-compatible HTML table with automatic column detection and inline CSS styles.
Use this template for scenarios such as:
Displaying supplier quotation details in approval emails
Showing purchase request item details in notifications
Formatting expense details for business communication
Converting line-item data into readable email content
Template description:
Convert any Yeeflow Sub List JSON into a professional, email-compatible HTML table with automatic column detection and inline CSS styles.
Steps to Use a Template
Under Create from templates, select the template you want to use.
Review the template information.
Click Use template.
The Custom service will be created based on the selected template.
You can then edit and adjust the service as needed.
Option 2: Create from Application Settings
You can also create and manage Custom services from Application Settings.
Steps
Open your application.
Go to:
Application Settings → Integrations → Custom services
Click Create service.
In the Create custom service window, enter:
Field | Description |
Service name | The name of the Custom service. |
Description | What the service does. This is required for AI tool discovery. |
Implementation type | Select Code-based (JavaScript). |
You can also click Import service from this page to import an existing service definition file.
Manage Custom Services
After a Custom service is created, you can manage it from:
Application Settings → Integrations → Custom services
The Custom services page includes two tabs:
Tab | Description |
This application | Shows Custom services created in the current application. |
Shared to this application | Shows Custom services shared with the current application. |
The service list displays information such as:
Column | Description |
Name | The name of the Custom service. |
Version | The current service version. |
Status | The service status, such as Published. |
Created by | The user who created the service. |
Created time | The time the service was created. |
You can use the search box to find a Custom service by name.
Custom Service Actions
On the Custom services list, click the action menu beside a service to manage it.
Available actions include:
Action | Description |
Edit service | Edit the service information, such as name and description. |
Open code editor | Open the service code editor to view or modify the service logic. |
Duplicate | Create a copy of the service. |
Share service | Share the service so it can be used in another application. |
Export service | Export the service as a service definition file. |
Disable service | Disable a published service so it can no longer be used. |
Delete service | Delete the service from the application. |
Edit a Custom Service
Use Edit service when you need to update the service name, description, or other service information.
Steps
Go to Application Settings → Integrations → Custom services.
Find the service you want to update.
Open the action menu.
Click Edit service.
Make your changes.
Save the service.
Open the Code Editor
Use Open code editor when you need to modify the service logic.
Steps
Go to Application Settings → Integrations → Custom services.
Find the Custom service.
Open the action menu.
Click Open code editor.
In the code editor, you can update the JavaScript logic, configure variables, test the service, and publish changes.
Configure Service Variables
Custom services use variables to receive data, use connections, and return results.
The main variable types are:
Variable Type | Description |
Connection variables | Connections used by the service when calling external systems or APIs. |
Input variables | Data passed into the service when it is invoked. |
Output variables | Results returned by the service after execution. |
For example, a service that converts a Sub List into an HTML table may use:
Variable | Type | Purpose |
subListJson | Input variable | Receives the Sub List data. |
htmlTable | Output variable | Returns the generated HTML table. |
Test a Custom Service
Before publishing a Custom service, use Test Run to verify that the service works correctly.
Steps
Open the service in the code editor.
Go to Test Run.
Enter sample values for the required input variables.
Run the service.
Review the output.
Testing helps confirm that:
Input variables are mapped correctly.
The service logic works as expected.
Output variables return the expected result.
Publish a Custom Service
After testing the service, publish it so it can be used by workflows, AI tools, and application processes.
Steps
Open the Custom service in the code editor.
Click Publish.
Review the version information.
Add a version description if needed.
Click Publish.
After publishing, the service status will be updated to Published.
Use a Custom Service in Workflows and AI Tools
After a Custom service is published, it can be used in execution scenarios such as workflows and AI tools.
Use in a Workflow
In the Flow designer, use the Invoke custom service action to call a published Custom service.
This allows a workflow to:
Send input values to the service
Run custom logic
Receive output values
Use the output in later workflow steps
Example:
A supplier quotation workflow can invoke a Custom service to convert supplier quote Sub List data into an HTML table, then insert the generated table into an approval email.
Use as an AI Tool
Custom services can also be added as AI tools.
This allows AI Agents or Copilots to use published services to perform configured business operations.
Example:
An AI Agent can invoke a Custom service to transform business data, calculate a result, or prepare structured output for users.
Example: Supplier Quote Table for Approval Email
This example uses the Sub List to HTML Table template.
Scenario
A procurement team submits a supplier quotation review form. The form includes a Sub List with supplier quote details, such as:
Supplier Name
Quoted Amount
Currency
Delivery Lead Time
Payment Terms
Evaluation Score
Recommendation
The workflow invokes the Custom service and passes the Sub List data into the service.
The service returns an HTML table, which is then inserted into an approval email.
Result
The approver receives an email with a formatted supplier comparison table, making it easier to review supplier options before approving the request.
Best Practices
Use Clear Service Names
Use names that describe what the service does.
Recommended:
Sub List to HTML Table
Supplier Quote Evaluation
Insert Excel Data to Data List
Avoid names that are too generic, such as:
Service 1
Test Service
Write a Helpful Description
The Description field helps users and AI tools understand what the service does.
Recommended:
Convert supplier quote Sub List data into an email-ready HTML table.
Avoid descriptions that are too vague, such as:
This is a service.
Test Before Publishing
Always test the service with realistic sample data before publishing.
Use Templates to Start Faster
If your scenario is similar to an existing template, start from Create from templates and adjust the service as needed.
Manage Published Services Carefully
If a published service is already used by workflows or AI tools, review the impact before disabling or deleting it.
Troubleshooting
I cannot find my Custom service after creating it from New application resource
Go to:
Application Settings → Integrations → Custom services
Check the This application tab.
The Custom service created from New application resource will be listed there.
The service is not available in Invoke custom service
Make sure the service has been published. Only published services can be invoked by workflows or AI tools.
The output is empty
Check the following:
Required input variables are mapped correctly.
The input data format is valid.
The service logic returns the expected output variable.
The output variable is bound to a workflow variable when used in a workflow.
The template output does not look correct
If you are using a template, open the service with Open code editor and review the input and output variable configuration.
For the Sub List to HTML Table template, make sure the input value is valid Sub List JSON.









