Outcome

Salesforce

[Financial] Execute a read-only SOQL query against Salesforce via the REST API

Salesforce logo

Salesforce

[Financial] Execute a read-only SOQL query against Salesforce via the REST API

OAuth2 Streaming + One-shot

Salesforce is where your revenue data lives. Delphi connects via OAuth2, queries your org through SOQL and the REST API, and turns pipeline, accounts, and forecast data into answers your team can act on. Read-only by default, with every query audit-logged and scoped to the dashboards each user is permitted to see.

What you can ask Delphi

  • Which accounts have opportunities stalled in Negotiation for more than 30 days?
  • Show me the top 20 closed-won deals this quarter with their owners and amounts
  • Compare pipeline coverage for the EMEA region versus last quarter
  • Which reps have the highest average deal size in the last 90 days?

Use cases

Pipeline health monitoring

Delphi watches your Salesforce pipeline and surfaces stalled deals, coverage gaps, and forecast risks in natural language — no more hand-built dashboards.

Territory performance analysis

Ask Delphi to compare territories, rep performance, or product lines across any time window. It joins Salesforce data with the rest of your business context automatically.

Technical details

Authentication
Method: OAuth2
Required scopes:
  • api
  • refresh_token
Ingestion
Mode: Streaming + One-shot
Cadence: Real-time query or 5-minute polling
Tools exposed (3)
enterprise/query_salesforce

[Financial] Execute a read-only SOQL query against Salesforce via the REST API. Returns CRM records: Opportunities, Accounts, Contacts, Leads, Forecasts, etc. Automatically handles OAuth2 authentication and pagination. Use for sales pipeline analysis, customer data, account health, and CRM reporting.

enterprise/salesforce_demand_model

[Financial] Convert Salesforce pipeline into weighted FTE demand projections. Queries Opportunities, applies stage-weighted probability, and computes demand by role and month. Configurable stage weights, custom demand fields, and revenue-per-FTE heuristic. Output feeds into assess_resource_sufficiency for capacity planning.

schedule_stream_salesforce

[Financial] Create or update a recurring Salesforce data connector that polls for changed records using SystemModstamp filtering. Streams changed CRM records (Opportunities, Accounts, Contacts, etc.) into Delphi via OAuth2 client credentials auth. Use this to keep Delphi dashboards in sync with live Salesforce data.

Inputs

enterprise/query_salesforce

Name Type Required Description
dashboardId string no Target dashboard/initiative ID. Omit to use the current dashboard.
soqlQuery string yes SOQL SELECT query to execute. Read-only: no UPDATE, DELETE, INSERT, UPSERT, or MERGE. Examples: "SELECT Id, Name, Amount, StageName, CloseDate FROM Opportunity WHERE StageName = 'Closed Won' AND CloseDate = THIS_QUARTER" "SELECT Id, Name, Industry, AnnualRevenue FROM Account WHERE AnnualRevenue > 1000000" "SELECT Id, Name, Email, AccountId FROM Contact LIMIT 200"
objectType string no Primary Salesforce object being queried — helps the agent understand the data context. Examples: "Opportunity" for pipeline data, "Account" for customer data, "Contact" for people.
Opportunity Account Contact Lead Forecast Campaign Task Event Custom
maxRecords number no Max records to return across paginated results. Default: 200.

enterprise/salesforce_demand_model

Name Type Required Description
dashboardId string no Target dashboard ID. Omit to use the current dashboard.
stageWeights object no Override stage-to-probability weights. Default: Closed Won=1.0, Commit=0.8, Best Case=0.5, Pipeline=0.2, Upside=0.1. Add custom stage names as additional keys.
Nested schema for stageWeights
Name Type Required Description
Closed Won number no
Commit number no
Best Case number no
Pipeline number no
Upside number no
revenuePerFte number no Revenue per FTE for heuristic sizing. Default: 200000. Used when no custom demand fields are present.
demandField string no Custom Opportunity field name for FTE demand (e.g., "Required_FTE__c"). When set, uses this field directly instead of the revenue-based heuristic.
roleField string no Custom Opportunity field name for the role associated with the demand (e.g., "Required_Role__c"). When set, groups demand by this field.
soqlFilter string no Additional SOQL WHERE clause to append (e.g., "AND Type = 'New Business'"). Do NOT include "WHERE" — it is added automatically.

schedule_stream_salesforce

Name Type Required Description
dashboardId string no Target dashboard/initiative ID. Omit to use the current dashboard.
soqlQuery string yes SOQL SELECT query to poll for changed records. The pipeline will inject a SystemModstamp filter automatically — include all desired fields and any static WHERE clauses. Example: "SELECT Id, Name, Amount, StageName, CloseDate, OwnerId FROM Opportunity WHERE IsClosed = false"
objectType string no Primary Salesforce object being polled.
Opportunity Account Contact Lead Forecast Campaign Task Event Custom
pollingInterval string no How often to poll Salesforce for changes. Default: "5m". Use ISO 8601 durations or polling format: "1m", "5m", "15m", "1h".
connectorId string no If provided, updates the existing connector instead of creating a new one.
description string no Human-readable description of what this connector monitors. Shown to analysts in future sessions.
idExpression string no expression for the deduplication key. Default: "this.Id" (Salesforce record ID). Use "this.Id" to deduplicate records by Salesforce ID.

Built to deliver on better outcomes.

Schedule a demo or contact us to learn more.