Standard and Custom Objects
Introduction
Standard Objects and Custom Objects (known as Objects) have a 1-1 relationship between your application and Provider objects. For example, a Contact
in Salesforce is a salesforce_Contact
in your application, and a Hubspot company
is a hubspot_company
in your application.
Standard objects
Supaglue Standard Objects are pre-defined objects in third-party providers, e.g. Contacts
, Accounts
, and Leads
are pre-defined objects in Salesforce and are Standard Objects in Supaglue.
Standard Objects have a 1-1 relationship between your application and Provider objects. For example, a Contact
in Salesforce is a salesforce_Contact
in your application, and a HubSpot company
is a hubspot_company
in your application.
You can use access Standard Objects as part of Managed Syncs, which can then be queried directly or accessed via the unified API.
Configuration
Use the Syncs --> Sync Configs page in the Management Portal to specify the Standard Objects you wish to sync to your Destination.
The screenshot above shows a HubSpot Sync Config that specifies product
, contact
, contact
, deal
, and email
Standard Objects. Supaglue will sync these Standard Objects.
Object names
Since Standard Objects vary by Provider, you need to configure the Standard Objects separately for each Provider. The casing of the Standard Objects is also provider-specific, e.g. Standard Objects for Salesforce are "PascalCase".
Table names
Tables are case-sensitive and named ${Provider}_${Object name}
, e.g. salesforce_Account
.
Table schema
Supaglue will land the data in your Destination with the following schema:
postgres=> \d "salesforce_Contract"
Table "public.salesforce_Contract"
Column | Type | Collation | Nullable | Default
--------------------------+--------------------------------+-----------+----------+---------
_supaglue_application_id | text | | not null |
_supaglue_provider_name | text | | not null |
_supaglue_customer_id | text | | not null |
_supaglue_emitted_at | timestamp(3) without time zone | | not null |
_supaglue_is_deleted | boolean | | not null |
_supaglue_raw_data | jsonb | | not null |
id | text | | not null |
Indexes:
"salesforce_Contract_pkey" PRIMARY KEY, btree (_supaglue_application_id, _supaglue_provider_name, _supaglue_customer_id, id)
Please note that Supaglue metadata fields differ slightly between Common Objects and Objects.
Custom objects
Custom Objects are objects that are not pre-defined by third-party Providers. They are usually entities specific to an organization, and can be managed by you or your customer.
For example, ContactDailyMetric
and ContactMonthlyMetric
are the only contact metric Standard Objects in Salesforce, but your customer may have defined a third Custom Object, ContactBiannualMetric
.
Configuration
Use the Syncs --> Sync Configs page in the Management Portal to specify the Custom Objects you wish to sync to your Destination.
The screenshot above shows a Sync Config that specifies ContactBiannualMetric
and BattleCard
Custom Objects. Supaglue will sync these Custom Objects.
Object names
The casing of Custom Objects is provider-specific.
Table names
Tables are case-sensitive and named ${Provider}_${slugify(Object name)}
, e.g. salesforce_BattleCard__c
becomes salesforce_BattleCardC
.
We use slugify to normalize names for Supaglue Destinations such as Postgres.
Table schema
Supaglue will land the data in your Destination with the following schema:
postgres=> \d "salesforce_BattleCard"
Table "public.salesforce_BattleCard"
Column | Type | Collation | Nullable | Default
--------------------------+--------------------------------+-----------+----------+---------
_supaglue_application_id | text | | not null |
_supaglue_provider_name | text | | not null |
_supaglue_customer_id | text | | not null |
_supaglue_emitted_at | timestamp(3) without time zone | | not null |
_supaglue_is_deleted | boolean | | not null |
_supaglue_raw_data | jsonb | | not null |
id | text | | not null |
Indexes:
"salesforce_BattleCard_pkey" PRIMARY KEY, btree (_supaglue_application_id, _supaglue_provider_name, _supaglue_customer_id, id)
Please note that Supaglue metadata fields differ slightly between Common Objects and Objects.
:::