Skip to main content

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 and custom objectsstandard and custom objects

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.

https://app.supaglue.io/applications/62605dc1-148e-4c53-a850-82e10f71ed23/syncs/sync_configs/new

image

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)
info

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.

https://app.supaglue.io/applications/62605dc1-148e-4c53-a850-82e10f71ed23/syncs/sync_configs/new

image

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.

info

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)
info

Please note that Supaglue metadata fields differ slightly between Common Objects and Objects.

:::