Core · Service · Active
platform-connectors-service
Shared datasource boundary used by product backends and MCP tools to reach Salesforce through source-based, service-to-service connector contracts.
- TypeScript
- NestJS 11
- PostgreSQL
- jsforce
- HTTP internal APIs
Spec sheet
Boundary
Core / Datasource
Runtime
NestJS 11 HTTP service
Default port
3200
Security
Internal-only surface guarded by x-platform-internal-token
Primary connector
Salesforce via jsforce
Persistence
PostgreSQL via CONNECTORS_DATABASE_URL
Responsibilities
- Keep vendor SDK logic out of product BFFs.
- Expose connector health, source configuration and capability discovery.
- Support Salesforce object describe, structured query, raw read-only SOQL, SOSL and cursor pagination.
- Expose single-record CRUD, batch record operations and controlled Apex REST invocation for product BFFs.
Interfaces and contract surface
- GET /health
- GET /internal/connectors/health
- GET /internal/connectors/sources
- POST /internal/connectors/sources/:sourceId/test
- POST /internal/connectors/sources/:sourceId/configure
- GET /internal/connectors/sources/:sourceId/status
- GET /internal/connectors/sources/:sourceId/capabilities
- GET /internal/connectors/sources/:sourceId/describe/objects
- GET /internal/connectors/sources/:sourceId/describe/objects/:objectName
- GET /internal/connectors/sources/:sourceId/describe/objects/:objectName/fields
- POST /internal/connectors/sources/:sourceId/query/run
- POST /internal/connectors/sources/:sourceId/query/page
- POST /internal/connectors/sources/:sourceId/query/more
- POST /internal/connectors/sources/:sourceId/query/raw
- POST /internal/connectors/sources/:sourceId/query/raw/page
- POST /internal/connectors/sources/:sourceId/query/raw/more
- POST /internal/connectors/sources/:sourceId/query/sosl
- POST /internal/connectors/sources/:sourceId/records/:objectName
- POST /internal/connectors/sources/:sourceId/records/:objectName/create-many
- POST /internal/connectors/sources/:sourceId/records/:objectName/update-many
- POST /internal/connectors/sources/:sourceId/records/:objectName/upsert-many
- POST /internal/connectors/sources/:sourceId/records/:objectName/delete-many
- PUT /internal/connectors/sources/:sourceId/records/:objectName/:recordId
- DELETE /internal/connectors/sources/:sourceId/records/:objectName/:recordId
- POST /internal/connectors/sources/:sourceId/apex/invoke
Consumers
Dependencies and external touchpoints
- platform-local-stack
- Salesforce org
- @platform/contracts-connectors
Notes
- Frontend applications must never call this service directly.
- The current public proxy does not expose a dedicated host for this service in local stack.
- The legacy /internal/connectors/salesforce/* controller has been removed; consumers should use source-based endpoints under /internal/connectors/sources/:sourceId.
Source references
platform-connectors-service/README.mddocs/core-services-integration.mdplatform-connectors-service/package.json