ObjectStackObjectStack

External Lookup

External Lookup protocol schemas

External Data Source Schema

Configuration for connecting to external data systems.

Similar to Salesforce External Objects for real-time data integration.

@example


\{

"id": "salesforce-accounts",

"name": "Salesforce Account Data",

"type": "rest-api",

"endpoint": "https://api.salesforce.com/services/data/v58.0",

"authentication": \{

"type": "oauth2",

"config": \{

"clientId": "...",

"clientSecret": "...",

"tokenUrl": "https://login.salesforce.com/services/oauth2/token"

\}

\}

\}

Source: packages/spec/src/data/external-lookup.zod.ts

TypeScript Usage

import { ExternalDataSource, ExternalFieldMapping, ExternalLookup } from '@objectstack/spec/data';
import type { ExternalDataSource, ExternalFieldMapping, ExternalLookup } from '@objectstack/spec/data';

// Validate data
const result = ExternalDataSource.parse(data);

ExternalDataSource

Properties

PropertyTypeRequiredDescription
idstringData source ID
namestringData source name
typeEnum<'odata' | 'rest-api' | 'graphql' | 'custom'>Protocol type
endpointstringAPI endpoint URL
authenticationObjectAuthentication

ExternalFieldMapping

Properties

PropertyTypeRequiredDescription
sourcestringSource field name
targetstringTarget field name
transformObject | Object | Object | Object | ObjectoptionalTransformation to apply
defaultValueanyoptionalDefault if source is null/undefined
typestringoptionalField type
readonlybooleanRead-only field

ExternalLookup

Properties

PropertyTypeRequiredDescription
fieldNamestringField name
dataSourceObjectExternal data source
queryObjectQuery configuration
fieldMappingsObject[]Field mappings
cachingObjectoptionalCaching configuration
fallbackObjectoptionalFallback configuration
rateLimitObjectoptionalRate limiting
retryObjectoptionalRetry configuration with exponential backoff
transformObjectoptionalRequest/response transformation pipeline
paginationObjectoptionalPagination configuration for external data

On this page