Bulk Record Sets in the Quickbase channel allow for a more efficient transfer of large numbers of records. Batching the records allows bulk operations to make fewer calls rather than one call per record.
Note: One step run is billed per record that the step processes even if the overall operation fails. Quickbase is currently unable to validate data/records prior to performing step runs. In the event that you will be processing large sets of data, it would be a best-practice to test your pipeline with a smaller set first.
Building a bulk record operation
Pipelines containing bulk record steps will require at least the following three steps:
- Prepare Bulk Record Upsert
- Define the schema
- Table - Select the table you want to use.
- Fields - Define which fields you want to use for the import.
- Merge field - Used if you are updating records. If you don't want to update an existing record, you may leave the field blank or use a value that doesn't exist in the table.
- Define the schema
- Add a Bulk Import Row
Note: This step does not make an API call. Instead, records are temporarily stored for the next step.
- Bulk Record - This will be pre-filled with a reference to the table you selected in the first step.
- The remaining fields result from the table. Define the field values for the record.
- Commit Upsert
This final step will take the temporarily stored records from Add a Bulk Import Row, and move them to QB.
Note:Prepare Bulk Record Import and Commit Upsert are intended to only be run once outside the context of the loop where you are adding records. Commit pushes all records that have been added during the pipeline run into the Quickbase table. For example:
Note: Step B above identifies the "destination" table where new records would be added, in other words, specifes the destination table for the data and select the fields that your records will update.
Use case example
In this use case, a user's requirement was to:
- On a trigger, find a set of child-table records connected to a trigger-field value.
- From those child-table records add new records to a child table of the trigger-record
The implementation was:
- On a trigger, set the destination table and fields to be populated
- Search for the records meeting the criteria
- For each record found, create a record in the destination table and set the field values that will be used to create the new records.