SaaS Applications
Querying Salesforce, HubSpot, Jira, Google Sheets, and other SaaS apps through MarcoPolo.
MarcoPolo connects to SaaS applications so your AI can query them using their native APIs. No SQL required on your part.
Connecting
SaaS connections typically use OAuth. You authorize MarcoPolo to access the specific app:
- Ask your AI: "I want to connect Salesforce" (or HubSpot, Jira, Google Sheets, etc.)
- Click the generated link.
- Sign in to the SaaS app and authorize MarcoPolo to access your data.
This is separate from your MarcoPolo account sign-in. Here you're granting MarcoPolo access to a specific SaaS application. Once authorized, your AI can query the app's data immediately.
Supported apps
Salesforce. Accounts, opportunities, contacts, leads, cases, and custom objects. Your AI writes SOQL and handles Salesforce-specific concepts like record types, picklists, and relationship queries.
HubSpot. Deals, contacts, companies, tickets, and custom properties. Pipeline analysis, deal tracking, and CRM reporting.
Jira. Issues, projects, sprints, and boards. Your AI writes JQL (Jira Query Language) for filtering.
Google Sheets. Read spreadsheet data directly. Connects the operational spreadsheets teams use alongside formal data systems.
ClickUp. Tasks, lists, and project data. Connects project management data with other business metrics.
How querying works
When you ask about a SaaS source, your AI reads your RULES.md for context, inspects available objects and fields with get_schema, writes a query in the app's native format (SOQL for Salesforce, JQL for Jira, etc.), and loads results into DuckDB.
From there, you can iterate, filter, or correlate with data from other sources: warehouse data, database records, files from storage.
What teams are doing
Sales ops on Salesforce. Account ARR analysis, opportunity field audits, upsell tracking, custom field analysis, call cadence reporting. One team runs 1,000+ queries across Salesforce, Athena, and Google Sheets.
Deal pipeline on HubSpot. Line item analysis, deal stage tracking, SKU breakdowns, revenue forecasting joined with warehouse data.
Customer success across CRM + support. Matching churned accounts with support ticket history. Identifying churn signals by cross-referencing Salesforce accounts with Jira escalations.
Salesforce administration. Automation flow analysis, table inspection, field-level auditing.
The cross-source pattern
The biggest value of SaaS connections comes from combining them with other data. SaaS apps hold your business objects (customers, deals, tickets). Databases and warehouses hold your operational data (events, transactions, metrics). Correlating them answers questions neither system can answer alone:
You: "Show me which customers churned last quarter and pull their support tickets."
You: "Compare revenue from Snowflake with closed-won opportunities in Salesforce."
You: "Match HubSpot deal pipeline with actual invoice data from billing."MarcoPolo queries each source, caches results in DuckDB, and your AI joins them locally. See Cross-Source Analysis for detailed examples.
Best practices
Write RULES.md for your SaaS sources. Document custom fields, picklist values, and which objects are canonical. Salesforce in particular can have dozens of custom fields that your AI won't understand without context. See Context (RULES.md).
Be aware of API rate limits. SaaS APIs have rate limits. For large datasets, ask your AI to filter early (e.g., "last quarter only") rather than pulling all records.
Explore schema first. SaaS objects can have hundreds of fields. Ask your AI to inspect the schema before querying to understand what's available and what fields are populated.