Bulk Actions, in a nutshell, provide the functionality of Automation 'Set Field', 'Create' and 'Delete' actions for massive amounts of records as quickly as possible. See Automation for more details on these actions.
In other words, Bulk Actions allow administrators to change, add or delete large amounts of records in the shortest time possible. When dealing with hundreds of thousands of records, the time Bulk Actions take can be in seconds rather than hours.
This feature is the equivalent of running SQL queries that affect multiple records at once, as opposed to the much slower changes on one record at a time via normal Automations that also have to pass through several ClayCentral features and layers. However, this differs from running SQL queries directly as follows:
Changing data in Digital-Clay databases directly is not allowed or supported due to the fact that it bypasses ClayCentral. Not only would this bypass ClayCentral caching, and enforcement of various rules and features, but it may also cause very serious problems with synchronization, data integrity, unexpected values causing incorrect query results, etc.
By running such changes through Bulk Actions, ClayCentral ensures that all changes will be performed correctly, taking into account system fields and data integrity.
Bulk Actions are built using a point-and-click interface, allowing any user to build very complex queries in seconds without worrying about syntax, complex operations or table joins. This is made so simple, that even nested SQL queries that would often be split over several stages or temporary tables due to complexity or maintenance issues, are optimized.
That said, there is a price when performing changes this way instead of via normal Automations:
Bulk Actions can be run via any of the following features:
Manually: In the ClayStudio/Administration/Bulk Actions menu item, choose one or more Bulk Actions to run and click on the Run button. If any of the Bulk Actions run on tables that are not disabled for offline use, you will be warned that users will be disconnected.
Via Automations using the 'Run Bulk Actions' action: This includes any Automation Events including Item Events like Item Change, or Scheduled Events. If the Bulk Actions run on tables that are not disabled for offline use, this will result in an automation error in the Automation Log. In order to link Bulk Actions to the Automation that called them, the following options are available:
A filter in the Bulk Action can be mapped to the current Automation object being handled. For example, an Automation Event Handler that handles changes to the Customer table can call a Bulk Action that runs on the Contacts table. The Bulk Action could then have a filter on the Customer table, and this Customer filter would then be selected as the 'Relation to subject' when selecting the Bulk Action in the 'Run Bulk Action' form.
Using a 'Set Linked Field' action, the records being changed could be linked to the item currently being handled by the Automation. This is done by selecting '<System Event Item>' in the drop down. For example, all 'Form' records could be temporarily linked to the current 'Employee' record that caused the Automation Event Handler to run.
After an import using ClayIntegrator: As part of an import session, Bulk Actions may be selected to run as soon as the import is finished but before the records are synchronized with ClayCentral. This is very useful for performing many or complex transformations on imported records. By default, the date range of the import is added as a filter to all Bulk Actions in order to restrict them to the records that were imported during that session only, but this is optional.
Note that Bulk Actions are always run in the order of their priority values, and that they only run if their status is set to 'Active', allowing administrators to temporarily disable Bulk Actions even if they are configured to run automatically in Automations or import sessions.
Using ClayIntegrator, massive amounts of records can be imported in a shorter amount of time (hundreds, or thousands of records per second depending on several factors) using the following procedure:
Make sure you run the import as an administrator.
Configure the tables you are importing into as “disabled for offline use” using the Custom Tables tool.
Map the source table to the online-only Digital-Clay table as usual and import as usual. You should get a message box informing you that this will be a bulk import.
Note that importing data this way can only be used for adding records, not updating/merging records. Also note that the records will bypass all automations, validation rules, field properties and history auditing for performance reasons. This method of importing is designed to get massive amounts of new data into the system as fast as possible.