← Public packages
@kody/salesforce
Salesforce REST helpers for identity, SOQL, multi-org routing, and error investigation.
src/index.ts
29 lines · 1.8 KB · TypeScript/**
* Describe the Salesforce package, integration requirements, and export surface.
* @example
* import salesforce from 'kody:@kody/salesforce'
* const overview = await salesforce()
*/
export default async function salesforceOverview() {
return {
name: 'Salesforce',
integration: 'salesforce',
connectUrl:
'https://kody.codes/connect/oauth?provider=salesforce&authorizeUrl=https%3A%2F%2Flogin.salesforce.com%2Fservices%2Foauth2%2Fauthorize&tokenUrl=https%3A%2F%2Flogin.salesforce.com%2Fservices%2Foauth2%2Ftoken&apiBaseUrl=https%3A%2F%2Flogin.salesforce.com&scopes=api%20refresh_token%20offline_access&flow=confidential&allowedHosts=login.salesforce.com%2C*.salesforce.com%2C*.force.com%2C*.my.salesforce.com',
sandboxNote:
'For sandboxes, replace login.salesforce.com with test.salesforce.com in authorizeUrl, tokenUrl, apiBaseUrl, and allowedHosts.',
selfHostedNote:
'Self-hosted deployments use that deployment origin plus /connect/oauth as the callback and connect URL.',
multiOrgNote:
'Connect each org under its own integrationName (salesforce-acme, salesforce-sandbox). Pass that name on every call. For webhooks, persist list-orgs().map in a private package packageStorage key "org-map" and pass it to resolve-org / triage-error. Live @kody/salesforce cannot store the map. Unknown organization ids fail closed.',
safety:
'Mutating operations require confirm: true and support dryRun: true. triage-error is read-only. When an organization id is present, triage-error will not fall back to the default salesforce connection.',
exports: {
account: ['get-user-info', 'smoke-test', 'list-orgs', 'resolve-org'],
data: ['query', 'list-sobjects', 'describe-sobject', 'get-record'],
investigate: ['triage-error'],
mutations: ['create-record', 'update-record', 'delete-record'],
advanced: ['request'],
},
}
}