Skip to end of metadata
Go to start of metadata


An operation is the smallest unit within a workflow that is independently executed on an agent and recorded by Harmony. Operations are used to define what an integration process should do and when it should be done.

Operations are comprised of a combination of one or more activities, scripts, or transformations:

The specific combination and order of these components must follow the set of valid patterns. For details on these patterns, see Operation Validity.

This page explains the parts of an operation, then covers adding steps to operations, accessing menu options, renaming operations, expanding/collapsing operations, reordering operations, and reusing, removing, or moving operation steps.

Parts of an Operation

Operations are formed by arranging activities, scripts, and transformations within an operation on the design canvas. The operation may consist of only a single script, or the arrangement may form a sequence of steps consisting of one or more activities, scripts, or transformations. The specific combinations that are allowed are described in Operation Validity.


An activity is used as a step in an operation to interact with a data resource whose connection is already configured through a connection. Activities can be used in an operation as either a source or a target and may be configured with data schemas that represent the request and response schemas for the interaction with the endpoint. In addition to being used as an operation step, some activities can also be referenced in scripts (see Endpoints in Jitterbit Script).

For more information about the basics and classifications of connectors, as well as resources for configuring connections and activities by each connector type, see the pages under Connectors


A source activity is any activity that provides data within an operation, which can then be transferred to a target unchanged or changed by a transformation prior to reaching a target.

Source activities require a data schema only if they will be used as input in a transformation:

  • If the source activity is providing data that will be transformed, it must have a response data schema, which is either automatically provided or can be defined while configuring the activity or transformation.
  • If the source activity is providing data that will not be transformed, a response file schema does not need to be defined, as it is not used in the operation.

Activities that are typically (but not necessarily) used as sources include those with one of these words in the name of the activity:

  • Download
  • Get
  • Read
  • Request
  • Query


A target activity is any activity that receives data within the operation. This data can come from a source activity, from a transformation, or from other input such as variables or scripts.

Target activities require a data schema only if they are receiving data that has been transformed or if they provide a response that you want to write to another target:

  • If the target activity is receiving data that has been transformed, it must have a request data schema, which is either automatically provided or can be defined while configuring the activity or transformation.
  • If the target activity is receiving data that has not been transformed, a request file schema does not need to be defined, as it is not used in the operation.
  • If a specific type of target activity provides a response, then you can also have a response data schema. If you want to write the response to another target, the response data schema is either automatically provided (SOAP and application activities) or can be defined while configuring the activity or transformation (HTTP). If the target type provides a response, an operation is not required to write the response to another target; that is, a response schema may be provided but can be ignored within the operation if it is not required.

Activities that are typically (but not necessarily) used as targets include those with one of these words in the name of the activity:

  • Add
  • Create
  • Delete
  • Insert
  • Post
  • Put
  • Response
  • Upload
  • Update
  • Upsert
  • Write


A script that is created as a project component can be used as a step in an operation to transform data, perform calculations, or perform logic validation. For example, you can use a script before or after an activity to retrieve data and then process script logic, or you can run a validation script before proceeding to a transformation. For more information, see Script Types and Creation.


A transformation is a project component that is used as a step in an operation to map or transform inputs to a resulting output by moving data, cleaning data, or applying business logic. After you add a transformation to an operation, you must configure it by mapping various inputs, such as source objects, variables, or scripts, to the resulting target output, usually a target data structure. For more information, see Transformations.

Adding Steps to an Operation

Operations are made up of project components consisting of activities, scripts, or transformations. To create operations, you place those components in a workflow on the design canvas as steps of an operation.

Choose the Component's Location within a New or Existing Operation

The method of adding a component to an operation depends on whether the operation is being newly created or is already existing:

  • New Operation: A visual block with a plus sign is displayed on the design canvas wherever you can add a component to create a new operation. In a workflow that does not yet have any operations, the block is displayed at the top of the design canvas by itself. In a workflow that has at least one operation, the block is displayed at the bottom of the design canvas by itself, below the last operation.

  • Existing Operation: Existing operations are displayed on the design canvas with a light gray background. Hovering to the left or right of a component in an existing operation shows a component block wherever you can add a component to an existing operation.

After you have decided on the location, the steps to add the component are different depending on if the component is an activity or a script or transformation, covered next.

Configure Connections, then Add and Configure Activities

For Harmony to connect to an application or data repository, you must first configure connections with your connection credentials. This is done from the component palette on the right side of the project designer. Within the component palette, the Connectors filter shows the types of connectors that can be configured:

Each connector is represented by a folder with the connector icon, beneath which is the connector name. Click a connector to open a configuration screen to set up a new connection for access to a particular data resource:

For detailed instructions on completing the configuration, see each specific connection under Connectors. Each time you configure a new connection, you must do so from the connectors accessible in the Connectors filter.

The Endpoints filter shows the configured connections, which can be edited by double-clicking the connection in the palette:

Once a connection has been created, click it to reveal the types of activities — interactions with an endpoint — that can be configured for that connection. You can then drag the activities to operations on the design canvas where you configure them:

An endpoint refers to a specific connection and its activities. The activities are added to an operation and then configured as sources or targets within the operation.

To add an activity to a new operation, drag and drop it from the component palette to the plus block on the canvas:

Then double-click the activity on the canvas or right-click it and select View/Edit to configure it as described for each specific activity under Connectors:

To add additional activities, drag them from the component palette to an existing operation on the canvas. A common configuration is to configure one activity as the source of data, and a second activity to its right as the target of data. The configuration may also include transformations and scripts, discussed next.

Add and Configure Transformations or Scripts

Wherever the component block appears, you can click the block to display a menu to add additional project components such as a transformation or a script:

Transformations are used when you want to transform data prior to reaching its target. Scripts can be used within transformations on target fields and nodes to apply specified logic or conditions to the data. Scripts can also be used as optional steps within an operation for a variety of purposes, such as error handling or looping through data records. 

After adding a transformation or script, double-click it, or right-click and select View/Edit to configure it. For details on configuration, see Transformation Creation and Configuration and Script Types and Creation, respectively.

NOTE: Operation steps may be configured in any order. However, note that a schema defined in a transformation takes precedence over a schema provided in an adjacent activity. Whether you choose to define a schema within a transformation or as part of an activity depends on your use case. For more information, see When to Use a Schema.

Operation Actions Menu

After an operation is created, menu actions for that operation are accessible from the project pane and the design canvas:

  • Project Pane: In the Workflows or Components tab of the project pane, hover over an operation name and click the actions menu icon  to open the actions menu.

  • Design Canvas: In the top right of an operation, hover over the actions menu icon  to open the actions menu.

Each of these menu actions is available:

Naming an Operation or Operation Steps

When you create an operation, its default name is New Operation. Operation names within a project must be unique and must not contain forward slashes (/) or colons (:) to be valid.

To rename an operation, in the top left of the operation, click into the title area and begin editing the text:

Steps within an operation can also be renamed from the design canvas, in addition to within the configuration for the component itself. To rename an operation step from the design canvas, click the name below the component block to bring the name into edit mode, then enter a name:

Expanding or Collapsing Operations

When an operation is created, it is expanded by default.

To collapse an individual operation, click the collapse icon  in the top right of the operation:

Collapsing an operation displays the operation in a smaller, condensed view:

To expand an individual operation when it is collapsed, click the expand icon  in the top right of the operation.

To collapse all operations in a workflow, click the design canvas collapse icon  at the top of the design canvas. This displays all operations in the workflow in a smaller, condensed view:

To expand all operations in a workflow when they are collapsed, click the design canvas expand icon  at the top of the design canvas.

Reordering Operations

Operations can be reordered within a workflow from either the project pane or the design canvas, or can be moved to another workflow from within the project pane and reordered there:

  • Project Pane: In the Workflows tab, drag an operation name to another location within or between workflows in the project tree:

  • Design Canvas: Click and hold anywhere on an operation to pick it up and drag it above or below other operations within the workflow:

Moving or reordering operations has a cascading effect of renumbering the operations "below" it in the project tree.

Reusing, Removing, or Moving Operation Steps

You can reuse, remove, or move components used as operation steps as described below.

Reuse a Component

Components can be reused either by referencing the same component multiple times, or by creating a copy of an existing component configuration to create a new, independent component.

Most activities and certain types of transformations and scripts can be referenced multiple times as operation steps. To reference one of these types of components as an operation step, drag the component name to a new or existing operation on the design canvas:

Activities and script can also be copied to create a new, unreferenced component. To copy a script or activity, hover over its name in the Components tab of the project pane, then click the actions menu icon  to open its actions menu. From the menu, select Duplicate.

On creating the component copy, the cursor is positioned on the component name within the project pane for you to rename the component:

For additional ways that components can be reused and details on referencing components multiple times, see Component Reuse.

Remove a Component

To remove an operation step, click the component within the operation to open its actions menu. From the menu, select Remove:

When you remove a source or target activity from an operation, any associated mappings within the transformation, if present, are also removed. Similarly, when you remove a transformation, if schemas are provided by an adjacent activity, they will no longer be referenced by the transformation.

Removing a component from an operation does not delete it from the project. Removed components can be accessed or permanently deleted from the project pane (see Component Dependencies, Deletion, and Removal).

Removing all of the steps in an operation does not delete the operation from the project. If you do remove all of the steps in an operation, the operation disappears from Workflows tab of the project pane and is shown on the design canvas as an empty operation:

The operation remains available as a component in the Components tab and is listed as a component when deploying the project. To delete an operation whose steps have been removed, do so from the operation menu that is accessible from the Components tab or the design canvas.

Move a Component

To move a component, reuse the component in another operation, and then remove the component from the original location as described above.

On This Page

Last updated:  Nov 19, 2020

  • No labels