Skip to content

Commit 4be2293

Browse files
committed
improvement(salesforce): align tools + block with Salesforce API and harden CRUD/analytics
- Migrate all 4 Account tools to shared getInstanceUrl + extractErrorMessage helpers (drop ~40 lines of inlined idToken decode per file) - Use extractErrorMessage consistently across every CRUD tool; add loggers to the opportunity tools - Trim ID path params on all update/delete/single-get tools; URL-encode single-record field lists - Fix dashboard tools: read name/metadata from dashboardMetadata.attributes (was always null); refresh now returns status/statusUrl defensively; drop no-op list_dashboards folderName filter - Expose update_case origin/contact/account and update_task who/what fields end-to-end - Block: mark create-required (Name, LastName, Company, StageName, Subject) and update/delete IDs conditionally required; add account billing*/revenue/employees and contact mailing*/department subBlocks; convert includeDetails to a Yes/No dropdown; move optional fields to advanced mode - Trim over-declared dashboard output types; make Task.Status optional - Regenerate integration docs
1 parent 1fdb43f commit 4be2293

36 files changed

Lines changed: 395 additions & 312 deletions

apps/docs/content/docs/en/integrations/salesforce.mdx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ Delete a contact from Salesforce CRM
276276

277277
### `salesforce_get_leads`
278278

279-
Get lead(s) from Salesforce
279+
Retrieve lead(s) from Salesforce CRM
280280

281281
#### Input
282282

@@ -571,6 +571,9 @@ Update an existing case
571571
| `subject` | string | No | Case subject |
572572
| `status` | string | No | Status \(e.g., New, Working, Escalated, Closed\) |
573573
| `priority` | string | No | Priority \(e.g., Low, Medium, High\) |
574+
| `origin` | string | No | Origin \(e.g., Phone, Email, Web\) |
575+
| `contactId` | string | No | Salesforce Contact ID \(18-character string starting with 003\) |
576+
| `accountId` | string | No | Salesforce Account ID \(18-character string starting with 001\) |
574577
| `description` | string | No | Case description |
575578

576579
#### Output
@@ -678,6 +681,8 @@ Update an existing task
678681
| `status` | string | No | Status \(e.g., Not Started, In Progress, Completed\) |
679682
| `priority` | string | No | Priority \(e.g., Low, Normal, High\) |
680683
| `activityDate` | string | No | Due date in YYYY-MM-DD format |
684+
| `whoId` | string | No | Related Contact ID \(003...\) or Lead ID \(00Q...\) |
685+
| `whatId` | string | No | Related Account ID \(001...\) or Opportunity ID \(006...\) |
681686
| `description` | string | No | Task description |
682687

683688
#### Output
@@ -735,7 +740,7 @@ Get a list of reports accessible by the current user
735740

736741
### `salesforce_get_report`
737742

738-
Get metadata and describe information for a specific report
743+
Get the describe (definition and metadata) for a specific report
739744

740745
#### Input
741746

@@ -818,7 +823,6 @@ Get a list of dashboards accessible by the current user
818823
| --------- | ---- | -------- | ----------- |
819824
| `idToken` | string | No | No description |
820825
| `instanceUrl` | string | No | No description |
821-
| `folderName` | string | No | Filter dashboards by folder name \(case-insensitive partial match\) |
822826

823827
#### Output
824828

@@ -852,7 +856,7 @@ Get details and results for a specific dashboard
852856
|`dashboardId` | string | Dashboard ID |
853857
|`components` | array | Array of dashboard component data with visualizations and filters |
854858
|`dashboardName` | string | Display name of the dashboard |
855-
|`folderId` | string | ID of the folder containing the dashboard |
859+
|`dashboardMetadata` | object | Structured dashboard metadata \(attributes, component definitions, layout\) |
856860
|`runningUser` | object | User context under which the dashboard data was retrieved |
857861
|`success` | boolean | Salesforce operation success |
858862

@@ -877,9 +881,10 @@ Refresh a dashboard to get the latest data
877881
|`dashboard` | object | Full dashboard details object |
878882
|`dashboardId` | string | Dashboard ID |
879883
|`components` | array | Array of dashboard component data with fresh visualizations |
880-
|`status` | object | Dashboard refresh status information |
884+
|`status` | object | Dashboard refresh status \(dashboardStatus\), when returned by the refresh |
885+
|`statusUrl` | string | URL of the status resource to poll for refresh completion |
881886
|`dashboardName` | string | Display name of the dashboard |
882-
|`refreshDate` | string | ISO 8601 timestamp when the dashboard was last refreshed |
887+
|`dashboardMetadata` | object | Structured dashboard metadata \(attributes, component definitions, layout\) |
883888
|`success` | boolean | Salesforce operation success |
884889

885890
### `salesforce_query`

0 commit comments

Comments
 (0)