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 a set of rules that determine if an operation is valid. (For details on what makes an operation valid or invalid, 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 removing, reusing, or moving operation steps.

Parts of an Operation

Operations are formed by arranging activities, scripts, and transformations within an operation container 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 under Operations Must be Valid 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. For more information about configuring connections and activities, see ConnectorsIn addition to being used as an operation step, some activities can also be referenced in scripts.


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 (NetSuite, Salesforce, and SOAP) 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 Scripts.


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

On the design canvas, a visual "new component" block (with a plus sign) represents the location where you can add new components. Depending on where on the design canvas the block appears, the action of adding a new component can either create a new operation or add a step to an existing operation:

  • Location for a New Operation: The "new component" block is displayed on the 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.

  • Location within an Existing Operation: The "new component" block appears upon hovering over the space before or after an existing step in 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 block shape surrounded by a dotted border. Click a connector block to open a configuration screen to set up a new connection for authenticated 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 connector blocks accessible in the Connectors filter.

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

Once a connection has been established, click it to reveal the types of activities, or interactions with that connection, that can be configured for that connection. Those activities are then able to be dragged to operations on the design canvas where they are configured:

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

To add activities, drag and drop them from the component palette to a "+" block on the canvas:

Then double-click on 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 a "+" block on the canvas, which appears upon hovering to the left or right of an existing block. 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.

Add and Configure Transformations or Scripts

Wherever the new component block appears, you can click on the block to bring up 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 on it, or right-click and select View/Edit to configure it. For details on configuration, see Transformations and Scripts, 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.

Accessing Menu Actions

After an operation is created, menu actions for that operation are accessible from the project pane in both the Workflows and Components tabs, and from 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:

  • Settings: This opens the operation settings, containing three tabs:
    • Schedules: Create and apply schedules to automatically run operations (see Operation Schedules).
    • Actions: Configure actions to take upon success or failure of the operation (see Operation Actions).
    • Options: Set options such as when the operation will time out, what to log and the timeframe for logging, when the operation will run, or whether to use chunking (see Operation Options).
  • Deploy: This deploys the operation and any components it is dependent on (see Deploying under Operation Deployment and Execution).
  • Deploy and Run: This deploys and runs the operation and any downstream (linked) operations (see Deploying and Executing under Operation Deployment and Execution).
  • Configurable Deploy: This opens the deployment screen, where you can select project components to deploy (see Deploying under Operation Deployment and Execution).
  • View Logs: This opens the operation log screen, which includes logs for this operation and any child operations that have been deployed and executed (see Operation Logs).
  • Delete: This is used to permanently delete the operation. Note that other project components used as steps in the operation or in support of the operation will not be deleted by this action (see Deleting under Operation Dependencies and Deletion).
  • View Dependencies: This changes the view in the project pane to display any other parts of the project that the specific operation is dependent on (see Viewing Dependencies under Operation Dependencies and Deletion).

Renaming an Operation

When an operation is created, its name defaults to "New Operation."

To rename an operation, in the top left of the operation, click into the title area and begin editing the text. Operation names within a project must be unique and must not contain forward slashes (/) or colons (:) to be valid.

Expanding or Collapsing Operations

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

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

Collapsing an operation will display the operation in a smaller, condensed view:

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

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

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

Reordering Operations

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

  • 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, or — with the operation picked up — however over another workflow's tab to switch to it and then drag the operation to its canvas:

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

Removing, Reusing, or Moving Operation Steps

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

Remove a Component

To remove an operation step, click on the component block within the operation to open the 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, will also be 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 will disappear from Workflows tab of the project pane and will be shown on the design canvas as an empty operation:

The operation will remain available as a component in the Components tab and will be 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.

Reuse a Component

To reuse an existing component in an operation, drag the component name from the Components tab of the project pane to an existing operation on the design canvas:

Only components that are able to be reused in an operation are able to be dragged to the canvas. These include most activity types listed under Endpoints (excluding Salesforce activities), as well as Scripts. Transformations are not able to be reused as operation steps.

Move a Component

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

On This Page

Last updated:  Aug 06, 2019

  • No labels