Skip to Content

Valid operation patterns in Jitterbit Studio

Introduction

Operations must be valid before you can deploy them. This page covers how to identify invalid operations, the validation patterns that operations must follow, and examples of each pattern.

Invalid operations

For new projects, the design canvas highlights invalid items by default when Highlight Invalid Items is selected. To turn off this option, clear this selection:

highlight invalid items

When you select Highlight Invalid Items, invalid operations or components display with a red outline and an invalid icon next to their name on the design canvas:

operation invalid

In the project pane, the names of invalid workflows and components are listed in red italics and are shown with an invalid icon:

invalid operation

Click the invalid icon next to the operation name to display a message listing the validation errors for the operation.

The invalid icon does not display if the operation is invalid because it contains other components with implicit errors. Project components used as any part of an operation must be valid for the operation to be valid. This requirement includes components used as steps of an operation, as well as other components used in support of an operation. The following examples illustrate this requirement:

  • A component used directly as a step in the operation, such as an activity, transformation, or script.
  • An endpoint that an activity used in the operation depends on.
  • A component that a script in the operation calls.

The validation rules depend on the type of component. For more information, see Component validity.

For a complete reference of validation error messages and their resolutions, see Operation design troubleshooting.

Validation patterns

Operations must follow certain validation patterns before you can deploy them to the Harmony cloud and run them on Jitterbit agents. These patterns ensure that agents support and expect all parts of a project.

The following legend shows the definition of the flow lines used in the pattern diagrams:

Flow line Definition
required A required component.
optional An optional component.
zero or more Zero or more scripts or Flow Control tools are valid.

Frequently asked questions (FAQ)

As you design operations, the following frequently asked questions may be helpful:

  • What's the difference between a source and a target?
    Activities function as a source if they provide data within an operation. Activities function as a target if they receive data within an operation. For additional information about sources versus targets and the parts of the operation, see Operation creation and configuration.

  • What patterns are valid with my endpoint?
    The individual activity pages under Connectors document the patterns that you can use with each specific type of activity. On each activity page, the specific patterns that you can use appear in the "Next Steps" section, which is typically the last section on each activity page.

  • What if my use case doesn't fit a valid pattern?
    If a certain desired operation arrangement doesn't adhere to a valid pattern, you may be able to use a combination of operations that each follows a valid pattern. To do so, create each operation separately and then chain them together using operation actions.

  • What are common validation errors?
    The most common issues include operations that don't match any valid pattern, transformations without required activities, and schema mismatches. For a complete list of validation errors and how to resolve them, see Operation design troubleshooting.

Tip

As you become familiar with the patterns, these generalizations may help:

  • File-based connectors such as FTP, HTTP, and Temporary Storage can be used without transformations.
  • Application connectors such as Salesforce, NetSuite, and Workday typically require transformations.
  • Scripts can be added almost anywhere in an operation.
  • Bulk operations such as Salesforce Bulk have specific patterns and cannot use transformations.

Archive pattern

The archive pattern is intended for use with source and target activities that interact with files. You can use this pattern to store inactive data (in its original file format) from a production system to a secure storage system for later retrieval.

ArchiveScriptSourceAPIA File ShareFTPHTTPLocal StorageNetSuiteSalesforceB Salesforce Service CloudB ServiceMaxB Temp StorageVariableScriptTargetAPIFile ShareFTPHTTPLocal StorageTemp StorageVariableScript

Script(s) or Flow Control tools + Source Activity + Script(s) + Target Activity + Script(s)

Example

Use case: Back up customer order files from FTP to cloud storage.

operation simple file transfer

This operation archives files by moving them from an FTP server to temporary storage without any transformation.

In this pattern, the source and target activities can be associated with any of the following endpoint types:

A If an operation chain contains an API activity, it must be the only API or API SOAP Request activity in the operation chain, and it must be the source of the first operation. That is, no other operation may call this operation from a script or an "on success" or "on failure" operation action.

B Only non-bulk activities can be used in this location.

Script pattern

ScriptScriptScriptTargetAPIFile ShareFTPHTTPLocal StorageTemp StorageVariable

Script(s) or Flow Control tools + Target Activity

Example

Use case: Generate and save a daily report timestamp.

operation generate timestamp

This operation uses a script to generate a formatted timestamp and report name, then writes it to a global variable for use in subsequent operations.

In this pattern, the target activity can be associated with any of the following endpoint types:

Transformation pattern

TransformationScriptSourceAnyA, B, C, D ScriptTransformationScriptTargetAnyB, C, D Script

Script(s) or Flow Control tools + (Group: Source Activity + Script[s] or Flow Control tools) + Transformation + (Group: Script[s] or Flow Control tools + Target Activity) + Script[s] E, F

Example

Use case: Sync contacts from Salesforce to a database.

operation FTP read

This operation queries recent contacts from Salesforce, transforms the data to match the database schema, and inserts the records into a customer database table.

In this pattern, the source and target activities can be associated with any endpoint type, as long as you include at least one activity. A transformation cannot exist by itself in an operation without an activity.

A If an operation chain contains an API activity, it must be the only API or API SOAP Request activity in the operation chain, and it must be the source of the first operation. That is, no other operation may call this operation from a script or an "on success" or "on failure" operation action.

B Only non-bulk activities can be used in this location.

C At least one activity must be included; a transformation cannot exist by itself.

D If a Salesforce, Salesforce Service Cloud, or ServiceMax Query is used as the source activity, then a target activity is required.

E Operations cannot include more than one NetSuite, Salesforce, Salesforce Service Cloud, SAP, ServiceMax, or SOAP activity.

F Operations that include a Salesforce, Salesforce Service Cloud, or ServiceMax activity cannot also contain any other activities except for those associated with the API, Database, File Share, FTP, HTTP, Local Storage, Temporary Storage, or Variable connectors.

Two-target archive pattern

You can use the two-target archive pattern to store inactive data (in its original format) from a production system to a secure storage system for later retrieval.

Two-target_archiveScriptSource 1AnyA, B ScriptTransformationTarget 1 / Source 2NetSuiteSalesforceB, D Salesforce Service CloudD, E SAPServiceMaxD, E SOAPScriptTarget 2APIFile ShareFTPHTTPLocal StorageTemp StorageVariableScript

Script(s) or Flow Control tools + (Group: Source Activity 1 + Script[s]) or Flow Control tools + Transformation + Target Activity 1 / Source Activity 2 + Script(s) or Flow Control tools + Target Activity 2 + Script(s) or Flow Control tools C, D

Example

Use case: Create a Salesforce case and archive the response.

operation create case

This operation retrieves support ticket data from an API, transforms it to create a Salesforce Case, and then archives the Salesforce response to a global variable. The Salesforce response passes through unchanged to the second target without additional transformation.

In this pattern, the second target activity archives a response from the middle activity, which functions both as the first target and as the second source.

The response from the middle activity passes through the raw response data to a second target without transforming it. You can think of this as an archive or as a passing through of data (sometimes referred to as a passthrough).

The source and target activities must be associated with certain endpoint types depending on where you use them in the pattern:

A If an operation chain contains an API activity, it must be the only API or API SOAP Request activity in the operation chain, and it must be the source of the first operation. That is, no other operation may call this operation from a script or an "on success" or "on failure" operation action.

B Only non-bulk activities can be used in this location.

C Operations cannot include more than one NetSuite, Salesforce, Salesforce Service Cloud, SAP, ServiceMax, or SOAP activity.

D Operations that include a Salesforce, Salesforce Service Cloud, or ServiceMax activity cannot also contain any other activities except for those associated with the API, Database, File Share, FTP, HTTP, Local Storage, Temporary Storage, or Variable connectors.

Two-target HTTP archive pattern

You can use the two-target HTTP archive pattern to store inactive data (in its original format) from a production system to a secure storage system for later retrieval using HTTP protocols and services.

Two-target_HTTP_archiveScriptSource 1AnyA, B ScriptTransformationScriptTarget 1 / Source 2HTTPC Target 2APIFile ShareFTPHTTPLocal StorageTemp StorageVariableScript

Script(s) or Flow Control tools + Source Activity 1 + Script(s ) or Flow Control tools + Transformation + Script(s) or Flow Control tools + Target Activity 1 / Source Activity 2 + Target Activity 2 + Script(s) or Flow Control tools

Example

Use case: Process a payment and log the response.

operation payment processing

This operation queries pending payment records from a database, transforms the data to match the payment API request format, adds authentication headers through a script, posts to the payment gateway API, and archives the HTTP response to temporary storage for audit purposes.

In this pattern, the second target activity archives a response from the middle activity, which functions both as the first target and as the second source. This pattern differs from the Two-target archive pattern because the middle activity is an HTTP activity.

The response from the middle HTTP activity passes through the raw response data to a second target without transforming it. You can think of this as an archive or as a passing through of data (sometimes referred to as a passthrough).

The source and target activities must be associated with certain endpoint types depending on where you use them in the pattern:

  • Source Activity 1 A: If used, the first source activity can be associated with any endpoint type.
  • Target Activity 1 / Source Activity 2: The first target activity (also referred to as the second source activity) can be associated with any of the following endpoint types:
  • Target Activity 2: The second target activity can be associated with any of the following endpoint types:

A If an operation chain contains an API activity, it must be the only API or API SOAP Request activity in the operation chain, and it must be the source of the first operation. That is, no other operation may call this operation from a script or an "on success" or "on failure" operation action.

B Only non-bulk activities can be used in this location.

C The HTTP activity must receive a request body and produce a response body. An HTTP GET activity returns a message indicating success {"success": true} or failure {"success": false} instead of the actual response.

Two-transformation pattern

Two-transformationScriptSourceAnyA, B ScriptTransformationTarget 1 / Source 2 AnyBexcept for: APIDatabaseFile ShareFTPHTTPLocal StorageTemp StorageVariableTransformationScriptTarget 2AnyB Script

Script(s) or Flow Control tools + (Group: Source Activity 1 + Script[s] or Flow Control tools) + Transformation 1 + Target Activity 1 / Source Activity 2 + Transformation 2 + Script(s) or Flow Control tools + Target Activity 2 + Script(s) or Flow Control tools

Example

Use case: Create a NetSuite customer and process the response.

operation netsuite customer

This operation retrieves pending customer data from a CRM API, transforms it to create a NetSuite customer record, then transforms the NetSuite response and updates the local database with the NetSuite ID for future reference.

In this pattern, the second transformation takes the response from the middle activity (which functions both as the first target and as the second source), transforms it, and then optionally writes it to a second target.

The source and target activities must be associated with certain endpoint types depending on where you use them in the pattern:

  • Source Activity 1 A: If used, the first source activity can be associated with any endpoint type.
  • Target Activity 1 / Source Activity 2: The first target activity (also referred to as the second source activity) can be associated with any endpoint type except for API, Database, File Share, FTP, HTTP, Local Storage, Temporary Storage, or Variable.
  • Target Activity 2 B: If used, the second target activity can be associated with any endpoint type.

A If an operation chain contains an API activity, it must be the only API or API SOAP Request activity in the operation chain, and it must be the source of the first operation. That is, no other operation may call this operation from a script or an "on success" or "on failure" operation action.

B Only non-bulk activities can be used in this location.

C Operations cannot include more than one NetSuite, Salesforce, Salesforce Service Cloud, SAP, ServiceMax, or SOAP activity.

D Operations that include a Salesforce, Salesforce Service Cloud, or ServiceMax activity cannot also contain any other activities except for those associated with the API, Database, File Share, FTP, HTTP, Local Storage, Temporary Storage, or Variable connectors.

Salesforce bulk source pattern

Salesforce_bulk_sourceScriptSourceA Salesforce, Salesforce Service Cloud,or ServiceMaxBulk QueryactivityScriptTargetFile ShareFTPHTTPLocal StorageTemp StorageVariableScript

Script(s) or Flow Control tools + Source Activity + Script(s) or Flow Control tools + Target Activity + Script(s)or Flow Control tools

Example

Use case: Extract a large dataset from Salesforce for analysis.

operation salesforce bulk query

This operation uses a Salesforce Bulk Query activity to extract all accounts created this year, then writes the data to an FTP server for data warehouse import. Use this pattern to extract large datasets (typically 50,000 or more records) efficiently without a transformation.

In this pattern, the source activity must be a Salesforce Bulk Query activity, Salesforce Service Cloud Bulk Query activity, or ServiceMax Bulk Query activity. The target activity can be associated with any of the following endpoint types:

Salesforce bulk target pattern

Salesforce_bulk_targetScriptSourceFile ShareFTPHTTPLocal StorageTemp StorageVariableScriptTargetA Salesforce, Salesforce Service Cloud,or ServiceMaxBulk Insert,Bulk  Update,Bulk Upsert,Bulk Delete,orBulk Hard DeleteactivityScript

Script(s) or Flow Control tools + Source Activity + Script(s) or Flow Control tools + Target Activity + Script(s) or Flow Control tools

Example

Use case: Bulk load customer data into Salesforce.

operation salesforce bulk upsert

This operation reads a CSV file of customer data from an FTP server, validates the data with a script, then performs a bulk upsert to Salesforce Contact objects. Use this pattern to load large datasets (typically 50,000 or more records) efficiently without a transformation.

In this pattern, the source activity can be associated with any of the following endpoint types:

The target activity can be associated with any of the following endpoint types: