Welcome to Albato Help

Albato Data Storage: Store Data and Match Records Across Apps


IN THIS ARTICLE

Albato Data Storage keeps data between automation runs. Use it to match record IDs across apps, collect records for a batch transfer, or reuse saved values in other automations.

How the Storage Is Organized

Think of it as a table in Google Sheets. Each record is a row. Its key is a unique ID, equivalent to column A. The other columns are variables, such as a status, an update date, or an ID from another app. Use the key to find or update a saved record.

 

How to Connect Albato Data Storage

  1. Go to Apps and click Add a connection.
Screenshot 01
  1. Select Albato Data Storage and click Add a connection.
Screenshot 02
  1. Enter a name for the connection and define the variables it will store.

Type each variable name and press Enter to add another variable. You can create separate storage connections for different tasks.

Screenshot 03
 

Available Actions

Screenshot 04
  • Data by key: delete value deletes a saved record. For a one-time transfer where the record is no longer needed afterward, add this action at the end of the automation.

  • Data by key: add/update value creates a record or updates an existing one. If the supplied key already exists, the action updates that record's other fields instead of creating a duplicate.

  • Counter by key actions maintain a counter for a key rather than creating a row with variable fields. You can add or increment a counter by 1, retrieve its current value, or clear it.

Screenshot 05
 

Available Triggers

Screenshot 06

Choose when the automation should start and whether it should process records individually or in batches.

  • New rows (batch) collects new records and passes them as a row section. Use it for bulk transfers, such as the data aggregation example below.
  • New row starts an automation when a new record is created in the storage.
  • Row updated starts an automation when an existing record is updated.
 

Use Cases

 

Match Records Across CRM Systems

When a deal has different IDs in two CRM systems, save the pair in Data Storage. Use the first CRM's deal ID as the key and the second CRM's ID as a variable. An update automation can then look up the saved ID to find the matching deal in the second CRM.

To also keep the deal's status and update date, define these three variables. The deal ID remains the record key.

  • status holds the deal's status.
  • dateUpdate holds its update date.
  • externalCrmId holds its ID in the second CRM.
Screenshot 07

Enter the variables in the connection settings as shown below.

Screenshot 08

The variables become available as fields when you configure actions in an automation.

You can return to the connection settings to add, remove, or edit variables.

Important: Renaming a variable changes its field code and breaks its mappings in previously configured automations. Review and update those mappings after renaming a variable.

Open the configured connection to view saved records in the Data by key tab.

Screenshot 09
 

Collect Data for Batch Transfers

When a destination needs contact data in batches, use Data Storage as an intermediate store. One automation saves new and updated CRM records; another exports the accumulated records once a day. This separates collection from delivery so you can account for the destination's requirements and limits.

 

Use Data Storage as an Alternative to Table Lookup

Use a saved mapping table to match statuses or other values between CRM systems.

For example, New Deal in CRM 1 might have ID 123, while the corresponding status in CRM 2 has ID 456. Save this mapping once in Data Storage and reuse it across automations. A separate automation can add new mappings or update existing ones.

For a comparison, see the Table Lookup instruction.

 

Sync Contacts Between HubSpot and Salesforce

Before You Start

  • Connect HubSpot and Salesforce to Albato.
  • Create a Data Storage connection with an externalCrmId variable, following the setup above.

This example uses two automations. The first creates Salesforce contacts from new HubSpot contacts and saves their IDs. The second updates those Salesforce contacts when the HubSpot records change. The same pattern can be used for other records, such as deals.

 

Create Contacts and Save Their IDs

  1. Configure HubSpot as the trigger for new contacts and Salesforce as the action that creates a contact.
Screenshot 10
  1. Add Albato Data Storage and select Data by key: add/update value.
Screenshot 11

Map the Two Contact IDs

  • Key: select the contact ID from the HubSpot trigger.
  • externalCrmId: select the contact ID returned by the Salesforce action.
Screenshot 12

The completed automation has three steps.

Screenshot 13
 

Update the Matching Contacts

Create a separate automation for contact updates.

  1. Add a HubSpot trigger that retrieves contact updates.
Screenshot 14
  1. Add Albato Data Storage and select Data by key: find values.
Screenshot 15

In Key, select the contact ID from HubSpot. This identifies the saved record to retrieve.

Screenshot 16
  1. Add Salesforce and select Update a record.
Screenshot 17

In Entity ID, select externalCrmId from the Data Storage step.

Screenshot 18

Map the remaining fields you want to update in Salesforce.

 

Optional: Route New and Existing Contacts

Add the Router tool to the update automation if you need different paths for contacts with and without a saved Salesforce ID.

  • externalCrmId is empty: create a Salesforce contact.
  • externalCrmId has a value: continue to the update action.

The following diagram shows this optional routing pattern.

Screenshot 19
 

Did this answer your question?