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:

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:

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

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 |
|---|---|
![]() |
A required component. |
![]() |
An optional component. |
![]() |
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.
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.

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:
- API A
- File Share
- FTP
- HTTP
- Local Storage
- NetSuite
- Salesforce B
- Salesforce Service Cloud B
- ServiceMax B
- Temporary Storage
- Variable
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
Script(s) or Flow Control tools + Target Activity
Example
Use case: Generate and save a daily report 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
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.

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.
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.

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:
- 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:
- NetSuite
- Salesforce B, D
- Salesforce Service Cloud B, D
- SAP
- ServiceMax B, D
- SOAP
Note
A variation of this pattern using HTTP as the middle activity is the Two-target HTTP archive pattern.
-
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 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.
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.

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:
- HTTP C
- 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
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.

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
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.

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
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.

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:
- Salesforce Bulk Insert
- Salesforce Bulk Update
- Salesforce Bulk Upsert
- Salesforce Bulk Delete
- Salesforce Bulk Hard Delete
- Salesforce Service Cloud Bulk Insert
- Salesforce Service Cloud Bulk Update
- Salesforce Service Cloud Bulk Upsert
- Salesforce Service Cloud Bulk Delete
- Salesforce Service Cloud Bulk Hard Delete
- ServiceMax Bulk Insert
- ServiceMax Bulk Update
- ServiceMax Bulk Upsert
- ServiceMax Bulk Delete
- ServiceMax Bulk Hard Delete


