You can only assign the De-Identify or Truncate table modes.
Salesforce does not support any of the . These are:
Alphanumeric String Key
ASCII Key
Integer Key
Numeric String Key
When you configure subsetting for a Salesforce workspace, you cannot filter optional records.
Salesforce workspaces do not support upsert.
For Salesforce workspaces, there is no option to run post-job scripts after a job.
You can create that are triggered by data generation jobs.
For Salesforce workspaces, you cannot write the destination data to a container repository.
Salesforce is a customer relationship management (CRM) tool used to manage sales and service.
During workspace creation, under Connection Type, click Salesforce.
Before you can configure the source connection, you must create the connection in Salesforce. The source connection can be either a production org, a sandbox org, or a scratch org.
To connect to the Salesforce application, Structural requires a consumer key and a consumer secret. You get these values from the Salesforce connected application that you created in Salesforce.
You can configure these as the values of the TONIC_SALESFORCE_CONSUMER_KEY and TONIC_SALESFORCE_CONSUMER_SECRET.
If these environment settings are not configured, for example in Structural Cloud, then under Source Settings, the Connected App Credentials panel is displayed.
In the Consumer Key field, provide the consumer key value.
In the Consumer Secret field, provide the consumer secret value.
Under Source Settings, to connect to the source connection:
In the Server field, type the path to the source connection server.
Click Authenticate with Salesforce. Structural sends you to Salesforce to authenticate to the source connection. Note that if this is the first time you log in to Salesforce with the user for Structural, you are prompted to confirm the additional permissions that are granted to the connected application.
After you authenticate, to test the connection, click Test Source Connection.
Before you can configure the destination connection, you must create the connection in Salesforce.
The destination connection must be either a sandbox org or a scratch org. However, the destination connection can only be a scratch org if the source connection is also a scratch org.
The destination connection must be a separate org from the source connection.
To connect to the Salesforce application, Structural requires a consumer key and a consumer secret.
If the TONIC_SALESFORCE_CONSUMER_KEY and TONIC_SALESFORCE_CONSUMER_SECRET are not configured, for example in Structural Cloud, then under Destination Settings, the Connected App Credentials panel is displayed.
To use the same key and secret that you provided under Source Settings, click Copy Settings from Source.
Otherwise:
In the Consumer Key field, provide the consumer key value.
In the Consumer Secret field, provide the consumer secret value.
Under Destination Settings, to connect to the destination connection:
In the Server field, type the path to the destination connection server.
Click Authenticate with Salesforce. Structural sends you to Salesforce to authenticate to the destination connection.
After you authenticate, to test the connection, click Test Destination Connection.
If Scramble Specific Users’ Data is enabled for the destination org, then you can configure the workspace to de-identify Salesforce users in the destination data.
To de-identify Salesforce users, toggle De-identify Salesforce Users to the on position.
Salesforce automatically excludes from de-identification specific internal users and users that have specific roles.
To exclude other users from de-identification, in the Excluded usernames field, type a comma-separated list of the users to exclude.
The following internal users are never de-identified:
Automated User
Platform Integration User
Analytics Cloud Integration User
Analytics Cloud Security User
Users who have the following roles cannot be de-identified. If you need to de-identify a user that has one of these roles, then before you run data generation, you must assign a different user to the role.
Structural user
Owner or recipient in Escalation Rules
Salesforce Setup > Escalation Rules
Owner or recipient in Auto-Response Rules (Lead or Case)
Salesforce Setup > Lead Auto-Response Rules
Salesforce Setup > Case Auto-Response Rules
Hard-coded user in Apex, Flows, or Process Builder
Salesforce Setup > Flows
Salesforce Setup > Process Builder
Salesforce Setup > Apex Classes
Owner or recipient in Email Alerts
Salesforce Setup > Email Alerts
Default Workflow User
Salesforce Setup > Process Automation Settings
Default Case Owner or Automated Case User
Salesforce Setup > Support Settings
Default Lead Creator (Web-to-Lead)
Salesforce Setup > Web-to-Lead
Default Lead Owner
Salesforce Setup > Lead Settings
Owner in Assignment Rules (Lead, Case, or Territory)
Salesforce Setup > Lead Assignment Rules
Salesforce Setup > Case Assignment Rules
Salesforce Setup > Territory Rules
You must enable Salesforce as an Identity Provider.
This is required for authentication between Salesforce and Structural. It is independent of any existing Salesforce single sign-on (SSO) user login.
You must
This is required for authentication between Salesforce and Structural.
For the integration between Structural and Salesforce:
Salesforce is set up as an Identity Provider for Structural
OAuth bearer tokens are used to transparently access Salesforce from Structural.
There are no separate passwords or user secrets. Each user is limited to only the data available based on their available level of access for their Salesforce or Structural account.
Log into your Salesforce instance.
Make sure that Salesforce is enabled as an with .
In the top right corner, click the gear icon, then click Setup.
On the Setup page, in the search field, enter App Manager, then select App Manager.
Click New Connected App.
On the Create a Connected App panel, click Create a Connected App.
On the New Connected App page, under Basic Information, fill in the following fields:
Connected App Name. We recommend that you include 'Tonic' somewhere in the name. Note that after you create a connected app, you cannot change the name.
Under API (Enable OAuth Settings):
Check Enable OAuth Settings.
In the Callback URL field, enter the URL of your Structural instance with /oauth2/callback appended to it.
For a self-hosted instance, if you do not have access to the Structural URL, contact the Structural administrator at your organization. If your organization has deployed more than one Structural instance, you can enter multiple URLs.
For Structural Cloud, the callback URL is https://app.tonic.ai/oath2/callback
Navigate to the bottom of the page, then click Save.
After you save the new application, to retrieve the consumer key and secret values:
Expand the API (Enable OAuth Settings) section, then click Manage Consumer Details.
Locate and copy the values of Consumer Key and Consumer Secret. You use these to populate the consumer key and secret values in Structural.
Configure the following , which you can configure from the Environment Settings tab on Structural Settings:
TONIC_SALESFORCE_CONSUMER_KEY - Set to the consumer key value that you copied from Salesforce.
TONIC_SALESFORCE_CONSUMER_SECRET - Set to the consumer secret value that you copied from Salesforce.
If you do not configure these environment settings, then you must provide the consumer key and consumer secret in the workspace configuration. For example, on Structural Cloud, you must always configure the consumer key and secret in the workspace.
After you set up the connected application, the first time that you log in to Salesforce with the user that connects from Structural, Salesforce displays a warning about the additional permissions that are granted to the connected application.
This first login is likely to occur the first time you configure a workspace connection.
It prompts you to confirm those permissions.
If you do not confirm the permissions, then Structural is unable to connect to Salesforce.
For a Salesforce workspace, the source and destination data connections must be separate orgs.
The source and destination connections can be production orgs, sandbox orgs, or scratch orgs.
However, the destination connection can only be a scratch org if the source connection is also a scratch org.
Salesforce users who authorize Structural to connect on their behalf must have the following permissions configured
Granted the Marketing User option.
Assigned a role that has edit access for all of the opportunities and cases. In the example below, All Access is an example of a custom role that was granted the required access.
Assigned the System Administrator profile.
Before you can grant the Update Records with Inactive Owners permission, you must make sure that it is available to grant.
To make the permission available:
Go to Setup > User Interface.
Check the Enable “Set Audit Fields upon Record Creation” and “Update Records with Inactive Owners” User Permissions checkbox.
Click Save.
After you enable the permission, to grant it, you can create and assign a permission set.
To display the permission sets page:
Go to Setup.
Under Administration, click Users, then Permission Sets.
To create the permission set:
On the Permission Sets page, click New.
In the Label field, provide a name for the permission set.
Leave License set to None.
Click Save.
To assign the permission to the permission set:
On the Permission Sets page, under System, click System Permissions.
Under System Permissions, click Edit.
Check the Update owner and sharing-based fields with Inactive Owners permission.
Click Save and then confirm your changes.
To assign the permission set to your user:
From the permission set details, click Manage Assignments.
On the Current Assignments page, click Add Assignment.
On the Select Users to Assign page, elect the user or users that you intend to use with Structural.
Click Next, then confirm the permission set assignments.
Salesforce workspaces include an .
To allow this option, in the User Management Settings for the destination org, you must enable Scramble Specific Users’ Data.
API Name
Contact Email
Under Selected OAuth Scopes, move the following settings from Available OAuth Scopes to Selected OAuth Scopes:
Manage user data via APIs (api)
Perform requests at any time (refresh_token, offline_access)
Leave the currently checked checkboxes checked.
Granted the Manage Users permission. If the permission is not included in the System Administrator profile, then you must grant it separately.
Granted the additional permission Update Records with Inactive Owners.

















