// Generated by notion tool-core codegen-script-types --connections. Do not edit. import type { ConnectionActionInvoker } from "./connection-actions.js" /** * Script input for the "Find Salesforce user IDs" effect (`salesforce.findUserIds`), * derived from its Tool Core definition's call_function input projection. * * Find matching Salesforce users and their IDs. */ export type FindUserIdsScriptInput = { /** * Partial name or email to match Salesforce users. */ nameOrEmail: string } /** * Canonical Tool Core output for the "Find Salesforce user IDs" effect (`salesforce.findUserIds`). * This is the definition's output schema; the effect's script surface may * re-encode it before returning. */ export type FindUserIdsScriptOutput = { users?: Array<{ id: string name: string email: string }> } /** * Script input for the "Get Salesforce sample" effect (`salesforce.getSample`), * derived from its Tool Core definition's call_function input projection. * * Get accessible Salesforce objects and sample records. */ export type GetSampleScriptInput = { /** * Object API name to fetch sample records for. */ targetObject?: string } /** * Canonical Tool Core output for the "Get Salesforce sample" effect (`salesforce.getSample`). * This is the definition's output schema; the effect's script surface may * re-encode it before returning. */ export type GetSampleScriptOutput = { objects: Array sample?: { object: string sampleRecords?: Array<{ Id?: string name?: string attributes?: Record }> } } /** * Script input for the "Load Salesforce record" effect (`salesforce.loadRecord`), * derived from its Tool Core definition's call_function input projection. * * Load a Salesforce record. */ export type LoadRecordScriptInput = { /** * Salesforce record ID (for example, 001xx000003DGbY). */ recordId: string /** * Salesforce object type for the record (for example, Account or Opportunity). */ objectType: string } /** * Canonical Tool Core output for the "Load Salesforce record" effect (`salesforce.loadRecord`). * This is the definition's output schema; the effect's script surface may * re-encode it before returning. */ export type LoadRecordScriptOutput = { type: "salesforce-record" title: string blocks: Array recordId: string objectType: string } /** * Script input for the "Search Salesforce" effect (`salesforce.search`), * derived from its Tool Core definition's call_function input projection. * * Search Salesforce via the configured connector. */ export type SearchScriptInput = { /** * What to search for. */ question: string /** * Keywords to use instead of the question. */ keywords?: string /** * Optional time window. Use only "default", "all_time", a duration matching /^\d+[dwmy]$/ (for example, "7d", "2w", "3m", or "1y"), or a date in "YYYY-MM-DD" format. Do not use natural-language durations or combine units. */ lookback?: string } /** * Canonical Tool Core output for the "Search Salesforce" effect (`salesforce.search`). * This is the definition's output schema; the effect's script surface may * re-encode it before returning. */ export type SearchScriptOutput = { results: Array<{ id: string title: string path: string text: string lastEdited: string isPrivate: boolean pageId: string objectType: string }> } /** * Script input for the "Query Salesforce" effect (`salesforce.soqlQuery`), * derived from its Tool Core definition's call_function input projection. * * Run a SOQL query and return rows. */ export type SoqlQueryScriptInput = { /** * SOQL query string. Only read-only SELECT queries are supported. */ query: string } /** * Canonical Tool Core output for the "Query Salesforce" effect (`salesforce.soqlQuery`). * This is the definition's output schema; the effect's script surface may * re-encode it before returning. */ export type SoqlQueryScriptOutput = { results: Array content: string query: string domain: string } export class SalesforceConnectionClient { constructor(private readonly invoke: ConnectionActionInvoker) {} findUserIds(args: FindUserIdsScriptInput): Promise { return this.invoke("findUserIds", args) } getSample(args: GetSampleScriptInput): Promise { return this.invoke("getSample", args) } loadRecord(args: LoadRecordScriptInput): Promise { return this.invoke("loadRecord", args) } search(args: SearchScriptInput): Promise { return this.invoke("search", args) } soqlQuery(args: SoqlQueryScriptInput): Promise { return this.invoke("soqlQuery", args) } }