Skip to main content

Create and Manage Custom Services

Learn how to create, configure, test, publish, and manage Custom services in Yeeflow. Custom services allow you to build reusable business logic for integrations, automation, workflows, form actions, and AI tools.

Overview

Custom services allow you to create reusable service logic in a Yeeflow application.

You can use Custom services to handle business-specific backend operations that go beyond standard configuration, such as:

  • Data transformation

  • Business rule processing

  • Custom calculations

  • Integration logic

  • Workflow automation processing

  • AI tool execution

  • Preparing structured outputs for emails, documents, or other workflow steps

Once a Custom service is created, you can find and manage it from:

Application Settings → Integrations → Custom services


When to Use Custom Services

Use Custom services when your business process needs reusable backend logic that cannot be fully handled by standard configuration.

Common examples include:

  • Transforming submitted data before the next workflow step

  • Validating data before a workflow continues

  • Running business rules or calculations

  • Preparing formatted outputs for emails or documents

  • Connecting workflow logic with external or internal systems

  • Creating reusable logic that can be invoked by AI Agents or Copilots


Ways to Create a Custom Service

You can create a Custom service in two main ways:

  1. From New application resource

  2. From Application Settings → Integrations → Custom services


Option 1: Create from New Application Resource

You can create a Custom service directly from the application resource creation page.

Steps

  1. Open your Yeeflow application.

  2. Click Add new component.

  3. In New application resource, select Custom services.

The Custom services card is displayed with the description:

Create reusable custom services for integrations, automation, and AI tools.

After selecting Custom services, you can choose how you want to create the service:

  • Create service

  • Import service

  • Create from templates

For more information about creating a service from a template, see Create Custom Services from Templates.

For more information about importing an existing service, see Import and Export Custom Services.


Option 2: Create from Application Settings

You can also create a Custom service from Application Settings.

Steps

  1. Open your application.

  2. Go to Application Settings.

  3. In the left navigation, go to: Integrations → Custom services

  1. Click Create service.

  2. In the Create custom service window, complete the required fields.

  3. Click Create service.

You can also click Import service from this page to import an existing Custom service definition file.

For more information, see Import and Export Custom Services.


Create a Custom Service from Scratch

Choose Create service if you want to start from scratch and configure the service yourself.

Steps

  1. Select Create service.

  2. In the Create custom service window, complete the following fields:

Field

Description

Service name

Enter the name of the Custom service.

Description

Describe what the service does. This description is also used for AI tool discovery.

Implementation type

Select the service implementation type. Currently, the available option is Code-based (JavaScript).

After the service is created, you will enter the AI code editor, where you can configure the service logic.


Understand the AI Code Editor

After you create or open a Custom service, you will enter the AI code editor.

The AI code editor is where you can generate, write, edit, test, save, and publish the service logic.

The page includes:

  • A top navigation bar for service actions

  • A Variables management window

  • A left AI code editor panel

  • A center Code editor

  • A right panel with SNIPPETS and TEST RUN


Top Navigation Bar

The top navigation bar helps you manage the Custom service while editing.

Item

Description

Back

Return to the previous page.

Collapse / open AI code editor panel

Collapse or open the AI code editor panel on the left.

Service icon

Displays the Custom service icon.

Service name

Shows the name of the Custom service currently being edited.

Status

Shows the current service status, such as Draft or Published.

Version

Shows the current service version, such as v1 or v3.

Processing

Indicates that the AI code editor is generating or applying changes.

Undo

Undo changes made during the current editing session.

Redo

Redo changes made during the current editing session.

Variables

Open the Variables management window.

Save

Save the current service changes as a draft.

History

Open the service version history.

Publish

Publish the current service version.


Variables Management

Click Variables in the top navigation bar to open the Variables management window.

Variables define the data structure used by the Custom service, including what data the service receives, what connections it can use, and what results it returns.

The Variables management window includes three sections:

Section

Description

Connection variables

Connections used by the service when calling external systems or APIs. Click Add connection to create one.

Input variables

Values passed into the service when it is invoked. Click Add input to create one.

Output variables

Values returned by the service after execution. Click Add output to create one.

Add or Edit Variables

When you click Add connection, Add input, or Add output, the Edit variable window opens.

In this window, you can configure one or more variables.

Field

Description

Variable ID

The variable name used in the service code.

Type

The variable type. Available types may include Text, Number, Boolean, Date/Time, File, Image, and Rich text. For connection variables, the type can be a connection type such as HTTP API/OAuth 2.0.

Description

A short description of what the variable is used for.

Click Add to add another variable in the same window.

Click OK to save the variable configuration or click Cancel to discard changes.

Each variable list shows the variable Name, Type, and Description. You can remove a variable by clicking the delete icon.

The variables you define here will also appear in the SNIPPETS panel and can be referenced in the service code.

Note: Use clear and consistent variable IDs. The variable ID is referenced in your service code, so changing it may require updates in the code editor.


AI Code Editor Panel

The AI code editor panel is displayed on the left side of the page.

You can use it to describe the code you want to generate or edit. The AI code editor can help you create a starting version of the service code or modify existing code based on your instructions.

You can use the AI code editor panel to:

  • Generate service logic from a prompt

  • Modify existing code

  • Fix code issues

  • Adjust input or output handling

  • Create data transformation logic

  • Create reusable business processing logic

For example, you can describe a requirement such as:

Update the Excel file input handling so the service accepts either a single file object or an array of files.

Or:
Convert a Yeeflow Sub List JSON input into an HTML table and return it as htmlTable.

Note:

When the AI code editor is working, the top navigation may show Processing.

Always review, test, and validate AI-generated code before publishing the service.


Code Editor

The Code editor is displayed in the center area.

This is where you write and edit the JavaScript code for the Custom service.

A Custom service uses a JavaScript code-based structure. For example:

export async function main({connections, params, modules}: ServiceContext) {   // Write your service logic here    return {     result: "success"   }; }

The service code can:

  • Read values from input variables

  • Use connection variables

  • Process business logic

  • Transform data

  • Call supported modules

  • Return output variables


SNIPPETS

The SNIPPETS tab is displayed on the right side of the AI code editor.

SNIPPETS provide code references based on the current Custom service structure and variable configuration. You can use these snippets as examples when writing or adjusting the service code.

The SNIPPETS panel may include:

Section

Description

Input variables

Shows how to read input values from params.

Connection variables

Shows how to access connection variables and modules used by the service.

Output variables

Shows the expected return structure for output variables.

For example, if your service has input variables such as Excel file, Data List ID, and Mapping JSON, the Input variables snippet may show how these values can be read from params.

If your service has an output variable such as Added Number, the Output variables snippet shows the expected return object structure.

Use SNIPPETS as a reference when writing code, copying common patterns, or checking whether your code uses the correct variable names.


TEST RUN

The TEST RUN tab is displayed on the right side of the AI code editor.

Use TEST RUN to simulate the Custom service before publishing it or before using it in workflows, form actions, or AI tools.

The TEST RUN panel includes:

Section

Description

Input parameters

Enter test values for the service input variables. For example, upload an Excel file, enter a Data List ID, or provide a Mapping JSON value.

Run simulation

Click this button to run the service with the test input values.

Output variables

Displays the returned output values after the simulation runs.

For example, if the service returns an output variable named Added Number, the result will appear under Output variables after the simulation is completed.

Use TEST RUN to check whether:

  • Required input parameters are provided.

  • The service code runs successfully.

  • Output variables return the expected values.

  • The service works with realistic test data.

Note: Passing TEST RUN does not automatically publish the service. After testing, click Publish if you want the service to be available for workflows, form actions, or AI tools.


Save a Custom Service

Click Save to save the current service changes as a draft.

Use Save when you want to keep your work but are not ready to publish the service yet.

Saving a draft allows you to continue editing and testing without making the service available for use.


View Service History

Click History to open the service version history.

The history panel allows you to view previous drafts and published versions.

Use version history when you need to:

  • Review earlier service logic

  • View a published snapshot

  • Restore a previous version as a draft

  • Track changes made to the service


Publish a Custom Service

After testing the service, publish it so it can be used by workflows, form actions, AI tools, and other application processes.

Steps

  1. Open the Custom service in the AI code editor.

  2. Click Publish.

  3. Review the version information.

  4. Add a version description if needed.

  5. Click Publish.

After publishing, the service status is updated to Published.

Only published Custom services can be selected and invoked by workflows, form actions, or AI tools.


Manage Custom Services

You can manage Custom services 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 current status, such as Published.

Created by

The user who created the service.

Created time

The time when 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, open the action menu beside a service to manage it.

Available actions include:

Action

Description

Edit service

Edit the service name, description, or service information.

Open code editor

Open the AI 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.

For detailed import and export steps, see Import and Export Custom Services.


Edit Service

Use Edit service when you need to update the service information.

Steps

  1. Go to Application Settings → Integrations → Custom services.

  2. Find the Custom service.

  3. Open the action menu.

  4. Click Edit service.

  5. Update the service information.

  6. Save your changes.


Open Code Editor

Use Open code editor when you need to view, update, test, or publish the service logic.

Steps

  1. Go to Application Settings → Integrations → Custom services.

  2. Find the Custom service.

  3. Open the action menu.

  4. Click Open code editor.


Duplicate Service

Use Duplicate when you want to create a copy of an existing Custom service.

When duplicating a service, you need to select the target location and enter a new service name.

Field

Description

Choose workspace

Select the workspace where the duplicated service will be created.

Choose application

Select the application where the duplicated service will be created.

Name

Enter the name of the duplicated service. The new name cannot be the same as an existing service name in the target application.

Click Duplicate to create the copy, or click Cancel to close the window.


Share Service

Use Share service to allow other applications to use the selected Custom service.

In the Share service window:

  • Select a Workspace.

  • In Applications, click Share next to the applications you want to share the service with.

  • Applications already shared are marked as Shared.

  • On the right side, Shared with shows the applications that currently have access.

  • Click Unshare to remove access from one application, or Unshare all to remove access from all applications.

Click Save changes to apply the updates, or Cancel to close the window without saving.

Shared services can be found under the Shared to this application tab in the target application.


Export Service

Use Export service to export a Custom service as a service definition file.

The exported file format is YCS File.

After exporting, the YCS file can be used to import the Custom service into another application.


Disable Service

Use Disable service to temporarily stop a Custom service from being used.

When you disable a service:

  • The service status changes to Disabled.

  • The service cannot be invoked by workflows, form actions, or AI tools.

  • The service configuration and code are kept and can be enabled again later.

When you click Disable service, a confirmation message appears.

Click OK to disable the service, or click Cancel to keep the service active.

Note: Before disabling a service, check whether it is currently used by workflows, form actions, AI tools, or other application processes.


Delete Service

Use Delete service to permanently remove a Custom service from the application.

Before deleting a service, Yeeflow checks whether the service is currently used by applications or workflows.

If the service is still required by other apps or flows, a confirmation window will display the dependent resources.

The confirmation window shows:

Field

Description

Name

The name of the application resource or flow that uses the service.

Type

The type of resource that depends on the service, such as Data List or workflow-related resources.

When you delete a service:

  • The service is permanently removed.

  • Dependent applications or flows can no longer use this service.

  • A new service must be created if the functionality is needed again.

Note: Click Delete to permanently remove the service, or click Cancel to keep the service.

Review the listed dependencies carefully before deleting a service.


Use Custom Services After Publishing

After a Custom service is published, it can be invoked from different places in Yeeflow.

Scenario

Related article

Create a service from a pre-built template

Create Custom Services from Templates

Invoke a service in a workflow

Invoke Custom Service in a Workflow

Invoke a service from a form action

Invoke Custom Service from a Form Action

Add a service as an AI tool

Invoke Custom Service as an AI Tool

Import or export a service definition

Import and Export Custom Services


Best Practices

Use Clear Service Names

Use service names that describe what the service does.

Recommended examples:

  • Sub List to HTML Table

  • Supplier Quote Evaluation

  • Insert Excel Data to Data List

Avoid vague names such as:

  • Service 1

  • Test Service


Write a Useful Description

The Description field helps users and AI tools understand what the service does.

Recommended example:

Convert supplier quote Sub List data into an email-ready HTML table.

Avoid vague descriptions such as:

This is a service.


Define Inputs and Outputs Before Writing Code

Before building the service logic, identify:

  • What data does the service need?

  • What should the service return?

  • Where will the output be used?


Test Before Publishing

Always use TEST RUN with realistic sample data before publishing the service.


Check Usage Before Disabling or Deleting

If a Custom service is already used by workflows, form actions, or AI tools, review the impact before disabling or deleting it.


Troubleshooting

I created a Custom service from New application resource, but I cannot find it.

Go to:

Application Settings → Integrations → Custom services

Check the This application tab.

Custom services created from New application resource are managed from this page.

I cannot select the service in Invoke custom service.

Make sure the service has been published.

Only published Custom services can be selected and invoked.

The service output is empty.

Check the following:

  • Required input variables are configured.

  • Input values are mapped correctly.

  • The input data format is valid.

  • The service code returns the expected output variable.

  • The output variable is mapped when the service is invoked.

The service does not work after import.

Check the following:

  • Required variables are configured.

  • Required connections are available in the current application.

  • The service has been tested with TEST RUN.

  • The service has been published before being invoked.


Related Articles

Did this answer your question?