JetStream — The invaluable multi-tool every Salesforce Admin should use
Jetstream stands head and shoulders above traditional tools like Salesforce DataLoader. Unlike DataLoader, Jetstream requires no installation and eliminates the need to manage Java locally — everything runs smoothly within your browser. This means you can start managing your Salesforce data immediately without worrying about setup or compatibility issues. Jetstream’s web-based interface provides a seamless experience across devices and platforms, making it accessible from anywhere without the need for software maintenance.
Jetstream also simplifies complex data operations with features that go beyond what DataLoader offers. For example, with Jetstream, you can update multiple objects at once, handle custom metadata with ease, and even load related records while automatically establishing relationships — all without the need for multiple steps or external tools. The Query Builder and Record Loader features are especially powerful, allowing you to explore and manipulate your data with just a few clicks.
P.S. — Did I mention it actually supports XLSX files?! No need to convert to CSV!
Key Features Covered:
- Query Builder: An intuitive tool for crafting and executing complex SOQL queries, with features like field filtering, advanced options, and easy management of relationships.
- Load Records: A streamlined process for inserting, updating, upserting, or deleting records across multiple objects, with advanced field mapping and error handling.
- Load Custom Metadata Records: Handles the unique needs of Custom Metadata, including upserts based on DeveloperName and managing lookups with API names.
- Load Related Records: Automatically establishes relationships between records across different objects in a single load, simplifying complex data operations.
- Update Records: Allows mass updates across multiple objects, with customizable criteria and the ability to validate configurations before execution.
- Viewing, Editing, and Cloning Records: Easy access to record details and related data, with options to edit or clone records directly from the interface.
Query Builder
Jetstream’s Query Builder is a versatile and intuitive tool designed to simplify the process of interacting with your Salesforce data. Whether you’re working with standard records or diving into Salesforce metadata, the Query Builder provides an efficient way to craft and execute complex queries without needing extensive knowledge of SOQL (Salesforce Object Query Language). Let’s explore the many facets of this powerful feature and how it can enhance your Salesforce data management experience.
Creating Your First Query
Getting started with Jetstream’s Query Builder is straightforward. Here’s how you can quickly generate a basic query:
- Select Your Object: Choose the Salesforce object you want to query. This could be anything from Accounts and Contacts to more specialized objects like Validation Rules.
- Choose Your Fields: Select the specific fields you want to include in your query. Jetstream makes this easy by allowing you to browse through all available fields, including related fields from up to six relationships deep.
- Add Filters: You can add filters to refine your results, such as setting conditions for specific field values or creating complex logic with AND/OR operators. For example, you could filter to only show active products or accounts created in the last 30 days.
- Order Your Results: Organize your results by adding Order By clauses, which let you sort your data based on any field, such as by creation date or account name.
- Set Limits: Limit the number of records returned to focus on the most relevant data, or use the Skip function to bypass a set of records.
Once you’ve configured these options, click Execute to run the query and view your results. The entire process is designed to be fast and user-friendly, ensuring that you can quickly access the data you need without unnecessary delays.
Exploring Advanced Query Options
For more complex data needs, Jetstream’s Query Builder doesn’t stop at basic queries. It offers advanced features that allow you to harness the full power of SOQL:
- Related Fields: Expand your query by including related fields from associated records, such as pulling in Account details when querying Contacts. This is perfect for getting a more comprehensive view of your data across relationships.
- Subqueries for Related Lists: Use the Subquery tab to include child records in your results. For example, when querying Accounts, you can pull in related Contacts or Opportunities, much like viewing related lists in Salesforce.
- Group By and Aggregates: Summarize your data by grouping records and applying aggregate functions like COUNT or SUM. This is particularly useful for reports, such as identifying how many Accounts have the same name or calculating total sales across regions.
- Field Functions: Modify the data returned for a field using functions. For instance, you can format a picklist field, convert currency values, or apply date functions to group records by time periods.
Working with Metadata
Jetstream isn’t just for querying standard data — it also excels at handling Salesforce metadata. You can switch to metadata queries to explore and manage elements like Validation Rules, Custom Fields, or even Apex classes. This feature is invaluable for admins and developers who need to audit or document the setup of their Salesforce orgs.
- Field Filters: Quickly adjust which fields are visible and selectable by applying filters, such as only showing custom fields or excluding managed package fields. This makes it easier to focus on the most relevant data.
Saving and Reusing Queries
Jetstream enhances your productivity by allowing you to save your queries for future use. Whether it’s a frequently run report or a complex query you’ve carefully crafted, you can store these queries in the Query History. From here, you can:
- Restore Queries: Bring back all the settings, filters, and selected fields exactly as they were when the query was originally run, allowing you to tweak or rerun it with minimal effort.
- Execute Again: Quickly rerun the saved query to refresh your results with the latest data.
This feature ensures that your hard work isn’t lost and that you can efficiently manage recurring tasks without starting from scratch each time.
Manual Queries and SOQL Editing
For those who prefer or need to work directly with SOQL, Jetstream’s Query Builder offers a Manual Query option. This allows you to paste in SOQL code and either execute it directly or restore it into the builder interface for further modification. This is especially useful when you need to adapt queries from other sources or fine-tune complex queries.
Query Results
Jetstream’s Query Results page is a feature-rich environment designed to maximize your efficiency in managing Salesforce data. Once you’ve executed a query, the Query Results page becomes your command center for interacting with the retrieved data. Here’s a closer look at the comprehensive features available:
Viewing and Interacting with Records
After running a query, Jetstream presents the matched records in a well-organized table. Each row represents a record from your Salesforce org, and you can interact with these records directly from the results page. Here’s what you can do:
- View Records: Click on any record’s ID to be taken directly to that record in Salesforce, allowing for a seamless transition between Jetstream and Salesforce.
- Edit, Clone, or Delete Records: Using icons next to each record, you can quickly edit, clone, or delete records. The edit function allows for inline changes, while the clone option creates a duplicate of the record, ready for any modifications before saving. Deleting a record removes it from your Salesforce org.
- Bulk Actions: Select multiple records to perform bulk actions like deleting all selected records, updating specific fields, or converting records into Apex code for further processing.
Filtering and Searching
Jetstream’s Query Results page includes powerful filtering and search capabilities, making it easier to navigate through large datasets:
- Global Search: A search bar at the top of the results allows you to search across all records. This is particularly useful when you need to locate specific records quickly without rerunning the query.
- Column Filtering: Each column has a filter menu, enabling you to apply text-based or checkbox filters to narrow down the displayed records based on specific criteria. This makes it easier to focus on the most relevant data within your results.
Handling Subqueries
If your query includes subqueries, Jetstream handles these with ease:
- Viewing Child Records: When a subquery is part of your query, each row in the results will indicate the number of related child records. You can click on this number to open a modal that displays these child records, allowing you to explore related data without leaving the page.
Downloading and Exporting Data
Jetstream understands the importance of exporting data for further analysis or reporting:
- Download Options: You can download your query results in multiple formats, including Excel, CSV, JSON, and even directly to Google Drive. This flexibility ensures that your data is available for whatever external tools or processes you might need.
- Handling Large Datasets: If your query returns a large number of records, Jetstream initially displays a subset. However, with the “Load More” button, you can retrieve additional records as needed, and any downloads will include the entire dataset by default.
Query Management and Adjustments
Jetstream offers the ability to tweak your query results on the fly:
- Adjusting Queries: At any point, you can click the “Manage SOQL Query” button to bring up a sidebar with your current query. From here, you can make changes and re-run the query without starting from scratch.
- Query History: Jetstream tracks your query history, allowing you to revisit and rerun previous queries easily. This is particularly useful for repetitive tasks or when you need to refine a query over time.
Creating and Updating Records
Beyond just viewing and exporting data, Jetstream allows you to actively manage your Salesforce records directly from the Query Results page:
- Creating New Records: From the gear icon at the top of the page, you can initiate the creation of a new record for the object you’ve queried. This feature allows for rapid data entry without switching contexts.
- Bulk Updates: Whether you need to update a single field across hundreds of records or make more nuanced changes, Jetstream’s bulk update feature makes this process straightforward. You can select which records to update, choose the field and value, and apply the changes all from within the Query Results interface.
Loading Data
Jetstream’s Load Records feature is an incredibly powerful tool that allows you to seamlessly upload and manage data in your Salesforce org. Whether you need to insert, update, upsert, or delete records, Jetstream simplifies the process with a user-friendly interface and robust options for field mapping, data loading, and error handling.
Step 1: Choose Object and Upload File
To begin, select the Salesforce object you want to modify, such as Accounts, Contacts, or any custom object. Jetstream supports multiple file formats, including CSV, Excel, and Google Sheets, giving you flexibility in how you prepare your data. Once your file is uploaded, Jetstream provides a preview, allowing you to confirm that your data is accurate and formatted correctly before proceeding.
Step 2: Select Your Operation
Jetstream offers four primary operations:
- Insert: Add new records to Salesforce.
- Update: Modify existing records.
- Upsert: Create or update records based on an External ID.
- Delete: Remove records from Salesforce.
Each operation is straightforward, and Jetstream guides you through the process, ensuring you select the correct option based on your needs.
Step 3: Map Fields for Accurate Data Transfer
Field mapping is where Jetstream truly shines. The tool attempts to auto-map your file’s columns to Salesforce fields using smart matching techniques, like matching by API names or field labels. If auto-mapping doesn’t get everything right, you can manually adjust the mappings. Jetstream even allows you to map to related fields, making it easy to set lookup relationships based on field values rather than IDs.
For example, when inserting a Contact, you could map the Account Name directly, and Jetstream will handle setting the correct Account lookup for you. This eliminates the need to manually gather IDs, simplifying your data management process.
Step 4: Advanced Options for Tailored Data Loading
Before you finalize your data load, Jetstream offers several advanced options to tailor the process:
- API Mode: Choose between the Bulk API for large data sets or the Batch API for faster processing of smaller loads.
- Clear Fields with Blank Values: Decide if blank values in your file should clear existing Salesforce data.
- Serial Mode: Control whether records are processed in parallel or sequentially.
- Batch Size: Adjust the number of records processed at a time to avoid hitting Salesforce limits.
These options give you full control over how your data is handled, ensuring it meets your specific requirements.
Step 5: Review and Load Data
As your data is processed, Jetstream provides real-time feedback, displaying the status of each record. If any records fail to load, Jetstream makes it easy to download a failure file, allowing you to correct issues and re-process only those records.
Once the load is complete, you can download the results, which include detailed information on each record processed. This transparency helps you verify that your data has been correctly updated and allows for easy troubleshooting if needed.
Loading Custom Metadata (CMDT)
Jetstream makes it easy to load Custom Metadata records into Salesforce, but there are some unique considerations due to the nature of Custom Metadata. Unlike standard records, each Custom Metadata record is treated as metadata rather than data, which brings some specific requirements and processes.
Step 1: Understand the Special Considerations
Custom Metadata records in Salesforce differ from standard records in several ways:
- Upsert Only: When loading Custom Metadata records, Jetstream always performs an upsert operation based on the DeveloperName of the record. This means that whether you're creating new records or updating existing ones, Jetstream will match records based on this field.
- Field Mapping: All fields in the Custom Metadata must be explicitly mapped during the load process. Fields that are not mapped will be set to their default values, which are typically null. This is crucial to remember, as any unmapped data will not be preserved during the load.
- Lookup Fields: For lookup fields, you need to provide the API name of the related record rather than its ID. If the lookup is to another Custom Metadata record, you should use the DeveloperName of the related record. For other types of lookups, such as to standard objects, the QualifiedApiName is required. This ensures that relationships are correctly established during the data load.
- Metadata API Usage: Jetstream uses Salesforce’s Metadata API to load Custom Metadata records. This is different from the standard data loading API and is specifically designed to handle metadata operations, making it more suitable for tasks involving Custom Metadata.
Step 2: Preparing and Uploading Your File
To load Custom Metadata records, you need to start by selecting the appropriate Custom Metadata object, which typically ends with __mdt rather than the usual __c used for standard custom objects. Jetstream supports CSV, Excel, and Google Sheets formats for your data files.
Once you’ve selected your object and uploaded your file, Jetstream will display a preview of the data, allowing you to confirm that everything looks correct before proceeding. You’ll notice that the load type is automatically set to Upsert, reflecting the need to match records by DeveloperName.
Step 3: Mapping Fields
Field mapping is a critical step in loading Custom Metadata records. Jetstream provides an interface for mapping your file’s columns to Salesforce fields. Unlike standard data loads, where you might map IDs for lookups, with Custom Metadata, you map by names and API names.
- Auto-Mapping: Jetstream attempts to automatically map fields based on the file’s column headers and the Salesforce fields, but you’ll need to review and adjust these mappings to ensure accuracy, especially for lookup fields.
- Manual Mapping: If necessary, you can add manual mappings for fields not present in your file but required for the data load.
Step 4: Configuring Load Options
Before you initiate the load, Jetstream offers some final configuration options:
- Clear Fields with Blank Values: This option is enabled by default for Custom Metadata records. Since the system needs to know how to handle fields not explicitly mapped, this setting ensures that any fields left blank in your data file are set to their default values (often null) in Salesforce.
- Date Format: Jetstream attempts to auto-detect the date format based on your locale, but it’s essential to verify that this matches the format of dates in your file to avoid errors during the load.
Step 5: Executing the Data Load
Once your data load begins, Jetstream provides real-time feedback on the progress, similar to other data loads. However, since the Metadata API is used, you can track the process through Salesforce’s Deployment Status page. This transparency helps ensure that everything is proceeding as expected and allows for easy troubleshooting if issues arise.
- Result Handling: After the load completes, Jetstream provides detailed results, indicating whether each record was created or updated. If any records fail to load, Jetstream allows you to download a file containing just those records, so you can correct the issues and reprocess them as needed.
Loading Related Records
Jetstream’s Load Related Records feature revolutionizes the way you manage complex data relationships in Salesforce. Traditionally, inserting records like Accounts and Contacts would require multiple data loads and external tools like Excel to match IDs. Jetstream eliminates this hassle by allowing you to load records into multiple objects simultaneously while automatically setting up the necessary relationships between them.
Preparing Your Load File
To get started, Jetstream provides a template where you’ll enter the Object API Name, operation type (Insert, Update, etc.), and an optional External ID at the top. The key to this process is using a Reference ID, a unique temporary identifier that links records across different worksheets within your load file. This Reference ID is crucial for establishing relationships between records during the data load.
For instance, if you’re loading Contacts that should be associated with newly created Accounts, you would use a Reference ID in the Contact’s {AccountId} column that matches the Account’s Reference ID. Jetstream handles these references and ensures that relationships are correctly mapped when the data is loaded into Salesforce.
From Jetstream documentation
Uploading and Previewing Your Data
Once your file is ready, upload it to Jetstream. The platform will automatically calculate relationships between records, perform validations, and generate a preview. This preview lets you see how Jetstream has grouped the related records, ensuring that dependencies are correctly handled before anything is loaded into Salesforce.
Error Handling and Data Loading
Jetstream’s validation process identifies any issues in your load file, providing detailed error messages that pinpoint exactly where the problems are. This allows you to correct errors quickly before attempting the load again.
When you proceed with loading the data, Jetstream ensures that if any record within a related group fails to load, the entire group is rolled back. This transactional approach ensures data integrity, preventing partial loads that could lead to inconsistent data states.
After the load is complete, Jetstream provides a detailed report, allowing you to review and download the results, ensuring you have full visibility into the success of your data load operation.
Bulk ‘Update Records’
Jetstream’s update functionality allows you to modify records across multiple Salesforce objects simultaneously, streamlining what traditionally would be a complex and time-consuming process. Here’s a breakdown of how it works:
Object and Field Configuration
First, select the objects you want to update. Jetstream supports single-object and multi-object updates, making it ideal for mass changes. After selecting your object(s), configure the specific fields to update:
- Field to Update: Choose the field you want to change.
- New Value: Specify how you want to update the field. Options include copying values from other fields, providing new values, or clearing existing values.
- Criteria: Define which records to update — either all records, records with specific conditions, or those meeting custom criteria.
Jetstream’s configuration options allow for highly targeted updates, ensuring you only modify the records you intend to.
Validating Configuration
Before proceeding, Jetstream requires validation of your configuration. This step checks the accuracy of your criteria and field mappings, providing a preview of how many records will be affected. Validation ensures that your update will work as expected and prevents errors from propagating during the data load.
Updating Multiple Objects Simultaneously
For scenarios where multiple objects need updating, Jetstream allows for bulk configuration. If all selected objects share a common field, like an external ID, you can configure and apply updates across all objects at once. This is particularly useful for data migrations, where consistent field updates across related records are necessary.
Performing the Update
Once everything is configured and validated, Jetstream processes the update using Salesforce’s Bulk API. You can control aspects like serial mode (for avoiding record locks) and batch size (to prevent hitting Salesforce limits). Jetstream processes one object at a time, transforming data and reloading it into Salesforce, while monitoring job progress in real-time.
Reviewing Results
After the update, you can view and download results for each object. If any records failed due to validation rules or other issues, Jetstream allows you to rerun the update, ensuring all intended changes are successfully applied.
Other Useful ETL Features
Jetstream offers several convenient ways to interact with Salesforce records, making it easy to view, edit, and clone them directly within the platform.
Accessing Records by ID
If you already know the record ID, you can quickly view, edit, or clone the record using the Record Lookup feature. Simply click the record lookup icon on the top toolbar or use the shortcut (command+k or control+k) to open the View Record Details popover. Enter the 15 or 18-digit record ID to access the record. Jetstream even displays the last 10 record IDs you’ve accessed for quick reference.
Finding Records via Query
If you don’t have the record ID handy, use Jetstream’s Query Page to locate the record. Once found, you can directly view, edit, or clone the record from the query results table by clicking the respective icon.
Working with Records
After selecting a record to view, edit, or clone, Jetstream presents the record in a modal window where you can:
- Access Related Records: Click on lookup fields to navigate to related records.
- Breadcrumb Navigation: Easily return to previously viewed records using breadcrumb links.
- View Child Records: Access all related child records by clicking the Child tab. Jetstream caches this data for a few days, but you can refresh it by clicking the Reload Records button.
This streamlined approach allows you to manage Salesforce records efficiently without leaving the Jetstream environment, ensuring that all your data interactions are quick and intuitive.
Conclusion
Jetstream is not just an alternative to DataLoader — it’s a comprehensive upgrade. With no installation required, seamless multi-object operations, and powerful features that simplify even the most complex data management tasks, Jetstream is the tool of choice for Salesforce professionals looking to maximize efficiency.
This overview has only scratched the surface of what Jetstream can do. Stay tuned for Part 2, where we’ll dive deeper into Jetstream’s advanced capabilities and how it can further transform your Salesforce experience.
Discussions
Login to Post Comments