Configuration Setup

The ‘Configuration Setup’ page in the application allows a user to input their Salesforce credentials, select and schedule objects, and configure other information for the replication of Salesforce data.

Configuration Name

The Configuration Name is a unique and required input to name the configuration. This value is the identifier used to find the configuration in the Configuration List View. Once the Salesforce credentials section has been filled out and the credentials successfully tested, this field becomes immutable.

Salesforce Login Section

Username and Password Authentication

The following parameters are used when authenticating username and password credentials with Salesforce:

  • Instance Type: The type of Salesforce instance being replicated:
    • Production
    • Sandbox
    • Custom Domain
      • If your Salesforce instance requires a specific domain for login, use the “Custom Domain” instance type and enter your domain in the “Custom Domain” section provided.
  • Username: A Salesforce user. This user must have API privileges. All data visible to this user will be replicated to the CapStorm database.
  • Password: The password for the Salesforce user.
  • Security Token (Optional): The Salesforce security token associated with the username provided. For more information regarding finding this token, seeing the Salesforce Documentation.

OAuth 2.0 Client Credential Authentication

The following parameters are used when authenticating OAuth 2.0 client credentials with Salesforce:

  • Org Domain: The domain name that is used on the login page to the target Salesforce instance.
  • Client ID: The client ID generated when creating a connected application in Salesforce.
  • Password: The client password generated when creating a connected application in Salesforce.

Testing Credentials

Once all of the above information is provided, the “Test Salesforce Credentials” button becomes selectable. Click this button to validate the provided credentials. Once successfully validated, the “Object Selection” table will be populated with all objects in the Salesforce instance that are visible to the user.

Database Connection Section

The Database Connection section is an optional section used to input a target Snowflake database and schema name to store Salesforce data for the target Salesforce instance. The provided database and schema name must exist in the same Snowflake instance where the application is installed. If these fields are left blank, the SALESFORCE schema in the application database will be used by default. For more information regarding configuring a new database for replication, see Connecting to New Databases.

Settings Section

The Settings section provides controls that will work across all created CopyStorm tasks. These options include the following:

  • API Threshold: Blocks Salesforce API usage if API usage exceeds the selected percentage before beginning job(s). For example, if 75% of available calls is selected, any CopyStorm or CopyStorm/Medic jobs will not execute if the current Salesforce API utilization is above 75% at the time of launch.
  • Refresh Formulas: Sets how often formulas are refreshed for all objects. When a formula definition changes in Salesforce, CopyStorm will not pick up the new definition because the timestamps stay the same. This tool will scan tables and update the associated formula columns in CopyStorm. For more information regarding this subject, see the Refresh Formulas documentation.
  • Retention Lock: Sets how many days records deleted in Salesforce are kept in the CapStorm database. By default, deleted records are not kept in the database but by changing this selection a user can choose to keep deleted records for the selected amount of time, including forever.

Email Notifications Section

This is an optional section that allows users to input email addresses to receive email notifications after jobs with errors finish, or after every job finishes.

To successfully send emails out of the Snowflake environment, a Snowflake Notification Integration must be created in the Snowflake instance. By clicking the question mark icon next to the Integration Name label, an example SQL is displayed that can be used to create this Notification Integration. If an integration name or email addresses are already input, those values will be used inside of the example SQL. Otherwise, example values are used. It is important to note that only email addresses in the Notification Integration will be able to receive emails originating from Snowflake. For more information, see Email Notification Configuration.

Object Selection Section

The Object Selection section of the Setup page provides the ability to pick the objects to replicate as well as their cadence of replication. Different objects can be replicated in groups at the below schedules:

  • Every 5 Minutes: Runs every hour at the 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 minute marks
  • Every 15 Minutes: Runs every hour at the 0, 15, 30, and 45 minute marks
  • Every Hour: Runs every hour at the 0 minute mark
  • Every Four Hours: Runs at hours 0, 4, 8, 12, 16, and 20 at the 0 minute mark
  • Every 12 Hours: Runs at hours 0 and 12 at the 0 minute mark
  • Every Day: Runs once a day at the midnight
  • Every Week: Runs once a week on Sunday at midnight

The Filter input can be used to search for objects in the current list of objects displayed in the table. As well, the dropdown to the right of the Filter can be used to show objects based on their category (e.g. All, Standard, Custom, etc.).

Modify Selection Schedules

The Modify Selected Schedules button allows a user to quickly update for all of the objects currently in the table that are active.

Select Objects from List

The Select Objects from List button can be used to mass-select objects for replication rather than individually clicking the toggle for each object. When clicking this button, a pop-up appears allowing for comma separated input of all objects to select. Any objects already selected in the Object Selection section that are provided in this list will stay selected, but their schedule will be updated to the value selected in the pop up.

Saving the Configuration

Once all inputs and selections have been made, the Save button at the bottom of the page can be clicked to either save an initial configuration, or update a current configuration. In the case of updating a current configuration, any objects that have been newly selected, removed, or have an updated schedule will be automatically updated to the aligned task and will be replicated at the selected schedule. 

The Run Now toggle can be used to immediately start replication of the selected objects. If multiple schedules have been selected, each CopyStorm task will execute one at a time until all are completed, then the tasks will run on their selected schedules. If the Run Now toggle is not selected, the CopyStorm tasks will run at the next time associated with the selected schedule for each task.