Qualifier Options for Salesforce Connect Adapter for GraphQL

We recommend you use the default global id in the GraphQL schema to construct the external ID of an external object.

Required Editions

Available in: both Salesforce Classic and Lightning Experience (not for high-data-volume external objects)

Available in: Developer Edition

Available for an extra cost in: Enterprise, Performance, and Unlimited Editions

TableQualifier ::= 
    "tableName": "phyiscalTableName" |
    "keyColumns": [" keyColumnName"(, "keyColumnName")*] ||
    "columns": {NamedColumnQualifier(, NamedColumnQualifier)*}     

NamedColumnQualifier ::= 
    "columnName": {ColumnQualifier(, ColumnQualifier)*}

ColumnQualifier ::=
    "virtual": (true | false) |
    "values": [ValueDefinition(, ValueDefinition)*]
    
ValueDefinition ::=
    {ValueQualifier,( ValueQualifier)*} 

ValueQualifier ::=         
    "definition": "functionDefinition" |
    "columnOrder": ["columnName"(, "columnName")*]
  • TableQualifier: Specific set of properties that are used to identify a table.
  • NamedColumnQualifier: Default value for the columnName is NamedColumnQualifier’s column name. If the ColumnQualifier is virtual, columnName is not specified.
  • ColumnQualifier
    • virtual: If true, the field doesn't physically exist in the external data source. Default value is false. Virtual fields are defined using the values formula.
    • values: A list of candidate Salesforce formula functions that derive the field value from other fields.
  • ValueDefinition: Contains an array of value qualifiers.
  • ValueQualifier
    • definition: A candidate value defined using Salesforce formula functions. A formula function can be a constant expression or can depend on one or more field values.
    • columnOrder: The lexical field order of the derived field value. The lexical order determines the field sort order in SOQL.
Example
Example

This is a sample table qualifier generated for an external ID based on the id field of the MyOrder table.

{
    "columns": {
        "ExternalId": {
            "virtual": true,
            "values": [
                {
                    "definition": "SUBSTITUTE(RIGHT(id,LEN(id)-17),"\\\\-","-")"
                }
            ]
        },
        "id": {
            "values": [
                {
                    "definition": ""Postgres_MyOrder-"&SUBSTITUTE(ExternalId,"-","\\\\-")"
                }
            ]
        }
    }
}