Custom Objects - User Guide
Custom Objects User Guide
Overview
The Salesforce Importer for JSM Assets now supports Custom Objects (Beta), allowing you to import any custom Salesforce object into your JSM Assets schema. This guide walks you through adding, configuring, and importing custom Salesforce objects.
What Are Custom Objects?
Custom objects in Salesforce are user-defined tables that extend the functionality of your Salesforce org. They follow the naming convention ObjectName__c for org-wide custom objects or NamespaceName__ObjectName__c for managed package objects.
Examples:
Invoice__c- A custom invoicing objectSubscription__c- A custom subscription tracking objectMyApp__CustomObject__c- A custom object from a managed package
Prerequisites
Before using custom objects, ensure:
Source Connection: You have already connected to your Salesforce org (via SourceConnect)
Destination Connection: You have already connected to your JSM Assets workspace (via DestinationConnect)
Object Schema: You have created an Object Schema in JSM Assets
Permissions: Your Salesforce user has access to the custom objects you want to import
Step-by-Step Guide
Step 1: Fetch Available Custom Objects
Navigate to the Admin section of the app
Select Custom Objects (Beta) from the left menu
Click the Add Custom Object action button to expand the custom object section
Click Fetch from Salesforce to retrieve all custom objects available in your org
Note: This button will change to Refresh from Salesforce after the first fetch.
Step 2: Add a Custom Object
After fetching, you'll see a dropdown menu showing all available custom objects
The dropdown displays both the Display Name and the Salesforce API Name
Example:
Invoices (Invoice__c)
Select the custom object you want to import
Click Add Custom Object
You'll see a success message when the object is added
Error Handling:
If you get an error that the object already exists, check if it was previously added or is a standard object
Ensure your Source connection is active and you have permissions to view the object
Step 3: Configure Attributes
Once a custom object is added, you need to configure which fields (attributes) to import:
In the Custom Objects table, find your newly added object
Click the Configure button next to the object
The system will fetch all available fields from your custom object in Salesforce
In the Configuration Modal:
Select Attributes to Import
A list of all fields in the custom object is displayed
System fields are automatically excluded: Id, IsDeleted, CreatedById, LastModifiedById, SystemModstamp, attributes
Use Select All to include all available fields
Use Deselect All to start fresh
Check/uncheck individual fields to customize your selection
Best Practices:
Only select fields you need to reduce import time and storage usage
At least one field must be selected (required)
Maximum 30 fields per custom object (system limitation)
Choose a Label Attribute
The "label attribute" is the field that will display as the object's name in JSM Assets:
After selecting attributes, scroll down to Select label attribute
Choose which selected attribute should be the display name
This field must be one of your selected attributes
Typically, this is a "Name" field if available
Common choices: Name, Title, Description, or API_Name
Example: If you're importing an Invoice__c object, you might select InvoiceNumber__c as the label attribute
Step 4: Save Configuration
After selecting your attributes and label, click Save Configuration
You'll see a success message confirming the configuration is saved
The Custom Objects table now shows:
Number of configured fields (in a green badge)
The selected label attribute
Status Indicators:
Green Badge (e.g., "15 fields") = Successfully configured
Red Badge ("Not configured") = Still needs attribute configuration
Step 5: Build/Upgrade Schema
After configuring all your custom objects, you must build the schema:
Click the Build/Upgrade Schema button at the bottom
This creates or updates your Object Schema in JSM Assets with the new custom object types and their attributes
Check your Debug Logs (in the Admin section) to verify the schema build succeeded
What Happens During Schema Build:
Object types are created for each custom object
Attributes are mapped based on your Salesforce field types
The schema is updated in your JSM Assets workspace
Managing Custom Objects
View Configured Objects
The Custom Objects table shows:
Name: Display name you gave the object (e.g., "Invoices")
Salesforce API Name: The actual Salesforce API name (e.g., "Invoice__c")
Attributes Configured: Number of fields selected for import (or "Not configured")
Label: The field used as the display name in Assets
Actions: Configure or Remove buttons
Reconfigure an Object
Click Configure on an existing object
Change your field selections or label attribute
Click Save Configuration
Rebuild the schema to apply changes
Remove a Custom Object
Click Remove next to the object you want to delete
The object is immediately removed from the custom objects list
You'll need to rebuild the schema to fully remove it from JSM Assets
Field Type Mapping
When you configure a custom object, the system automatically maps Salesforce field types to JSM Assets attribute types:
Salesforce Field Type | JSM Assets Type | Notes |
|---|---|---|
Text | Text | Standard text field |
TextArea | Text | Multi-line text |
Number | Number | Numeric values |
Currency | Number | Currency values |
Percent | Number | Percentage values |
Date | Date | Calendar date |
DateTime | Date | Date and time |
Checkbox | Boolean | True/False values |
Picklist | Select | Single-select from values |
MultiSelectPicklist | Select | Multi-select from values |
Reference | Reference | Link to another Salesforce object |
Lookup | Reference | Link to parent object |
Important: Some Salesforce field types may not be fully supported. Check your import logs if you encounter issues.
Importing Data
Once your schema is built with custom objects:
Go to Build Schema section
Go to Source Filter to filter which records to import
Go to Build Run to execute the import
Custom object records will be imported alongside standard objects
Monitor Import Status to track progress
Troubleshooting
Could not fetch custom objects from Salesforce
Solution:
Verify your Source connection is still active
Check that your Salesforce user has "View All" permissions on custom objects
Try refreshing from Salesforce again
Custom object not found or Insufficient permissions
Solution:
Confirm the object exists in your Salesforce org
Verify your user profile has read access to the object
Check that the API name is spelled correctly (case-sensitive)
Fields are missing or not appearing
Solution:
Some fields may be hidden or have restricted visibility
Try fetching fields again (click Configure button)
Check Field-Level Security in Salesforce for your user profile
Schema build failed
Solution:
Check Debug Logs in the Admin section for detailed error messages
Ensure you have at least one field selected for each custom object
Verify your JSM Assets workspace connection is active
Try building the schema again
Object still appears after removal
Solution:
After removing an object, you must click Build/Upgrade Schema to fully remove it from JSM Assets
Best Practices
Do:
Test with a small custom object first before importing large objects
Select only the fields you need (reduces import time and complexity)
Use descriptive field names as labels (e.g., "Invoice Number" instead of "ID")
Check Debug Logs after schema builds to verify success
Backup your JSM Assets schema before importing large datasets
Don't:
Add too many custom objects at once (test one or two first)
Select all fields if you only need a few (performance impact)
Rename custom objects in Salesforce after importing (causes confusion)
Try to import to a schema that already has conflicting object types
FAQ
Q: Can I import managed package custom objects?
A: Yes! Managed package objects use the naming convention NamespaceName__ObjectName__c and are fetched the same way.
Q: What's the limit on custom objects?
A: There's no hard limit in the app, but JSM Assets schemas have practical limits. Start with 5-10 custom objects.
Q: Can I change which fields are imported after the first import?
A: Yes! Reconfigure the object, rebuild the schema, and run another import. New fields will be added to JSM Assets.
Q: Do I need to remove an object to change its label field?
A: No! Just click Configure, change the label, save, and rebuild the schema.
Q: What happens to existing records if I change the label field?
A: Existing records keep their current values. Only new records will use the new label field.
Support
If you encounter issues:
Check Debug Logs in the Admin section for detailed error messages
Review this guide's Troubleshooting section
Verify all connections (Source and Destination) are active
Contact your Salesforce or JSM Assets administrator for permission issues
Note: This feature is currently in Beta. Functionality and UI may change in future releases. Report bugs or feature requests through your support channel.