UX Customization Options

Endgrate provides an entire suite of UX customization options to fit your use case. All customization options are specified as body parameters when initiating a session.

Integration Provider Selection

By default, Endgrate will prompt the end user to choose the integration provider with which they would like to connect.

If you want to handle the integration provider selection process on your end, you can specify a provider such as hubspot or salesforce. Endgrate will skip the selection screen and redirect to the integration provider's authentication screen.

To get a list of all available integration providers, use the GET api/integrations endpoint.

Example

curl --request POST \
     --url https://endgrate.com/api/session/initiate \
     --header 'accept: application/json' \
     --header 'authorization: Bearer API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "schema": [
    {
    	"endgrate_type": "crm-contact",
    }
  ],
  "provider": "hubspot"
}
'

Schema Selection

By default, every schema you specify will be "selected", meaning that it is available for you to interface with (push/pull data) after the end user configures the session.

When the schema_selection flag is on, Endgrate will prompt the end user to choose which schemas to push and pull. This is useful if you want your end users to have more granular control over integration access.

If the passthrough_schemas flag is on in addition to this flag, Endgrate will also prompt the user to choose which passthrough schemas (custom objects) to push and pull. However, if this flag isn't on but the passthrough_schemas flag is on then all the Endgrate and custom schemas for the current provider will be selected.

You can get the selected schemas (and selected passthrough schemas if applicable) via the GET api/session/configuration endpoint (we'll review this endpoint in a later guide).

Example

curl --request POST \
     --url https://endgrate.com/api/session/initiate \
     --header 'accept: application/json' \
     --header 'authorization: Bearer API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "schema": [
    {
    	"endgrate_type": "crm-contact",
    }
  ],
  "schema_selection": "true"
}
'

Resource Selection

By default, schemas will be matched to a corresponding integration provider resource by their endgrate_type.

When the resource_selection flag is on, Endgrate will prompt the end user to choose an integration provider resource for each schema. This is useful in rare cases in which a direct match is not appropriate, such as when you have an unspecified endgrate_type.

Example

curl --request POST \
     --url https://endgrate.com/api/session/initiate \
     --header 'accept: application/json' \
     --header 'authorization: Bearer API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "schema": [
    {
    	"endgrate_type": "crm-contact",
    }
  ],
  "resource_selection": "true"
}
'

Field Selection

By default, Endgrate's AI engine automatically maps fields in your standardized schema to fields for the integration provider.

When the field_selection flag is on, Endgrate will prompt the end user to review/edit the field mapping,

If the passthrough_fields flag is on in addition to this flag, Endgrate will also prompt the user to choose which passthrough fields (custom fields) to add.

Example

curl --request POST \
     --url https://endgrate.com/api/session/initiate \
     --header 'accept: application/json' \
     --header 'authorization: Bearer API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "schema": [
    {
    	"endgrate_type": "crm-contact",
    }
  ],
  "field_selection": "true"
}
'

Upsert Settings

As a part of field selection, upsert settings allow the end user to, on a field by field basis, change upsert behaviour between overwriting existing field data, keeping the existing data, or only setting it if it does not exist.

For supported integration providers, the upsert_field flag allows the end user to set the unique identifying field to be used on upsert behaviour. I.e.: if it is selected on the email field, upserting will use email as the primary key to replace data by.


Statistics

When the statistics flag is on, the end user will be redirected to a statistics screen after configuring the session.

Example

curl --request POST \
     --url https://endgrate.com/api/session/initiate \
     --header 'accept: application/json' \
     --header 'authorization: Bearer API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "schema": [
    {
    	"endgrate_type": "crm-contact",
    }
  ],
  "statistics": "true"
}
'

Redirect URL

When a redirect_url is specified, the end user will be redirected to the provided URL after configuring the session.

Example

curl --request POST \
     --url https://endgrate.com/api/session/initiate \
     --header 'accept: application/json' \
     --header 'authorization: Bearer API_KEY' \
     --header 'content-type: application/json' \
     --data '
{
  "schema": [
    {
    	"endgrate_type": "crm-contact",
    }
  ],
  "redirect_url": "https://website.com"
}
'