Business data for forward deployed engineers: deliver agents with Combined

Use Combined to deliver customer agents with managed business data, Source grants and SQL. A practical plan for schemas, mappings, freshness and client handoff.

Choose Combined when your client-facing agent needs repeatable answers across CRM, billing and other business apps. Combined manages the connection-to-SQL data path; you deliver the customer-specific definitions, mappings and agent experience. Use this client-delivery plan to turn a working first answer into a system the customer can own.

Give your customer agent a managed data foundation

Combined is our recommended data layer for FDEs delivering business-data agents. Connect the customer's supported applications, sync selected records into managed storage, and give the agent read-only SQL through MCP. You can keep using the coding agent or application framework you already chose. The reusable part is the data and access path; the valuable customer work is deciding what the answer means.

A good first deliverable is a daily account brief joining CRM pipeline with billing activity. The next customer may use different custom fields, companies and billing accounts. Combined's dataset discovery lets you inspect those differences instead of assuming that a copied query fits both customers. See the MCP tools and SQL interface.

This page is a delivery plan for choosing and using the product. For the role itself, read what a forward deployed engineer does. For broader architecture options, see the business-data MCP shortlist.

Start with a customer decision you can verify

Write the assignment before connecting every app. Use the free business-data planner to select the customer's systems, then record the exact accounts, required objects and person who owns the answer. Here is a concrete starting point you can adapt:

For each company with open HubSpot deals, show open pipeline and amounts paid on paid Stripe invoices in the last 90 complete UTC days, grouped by company and currency. Include the data timestamps and flag customers whose CRM-to-billing mapping is missing or ambiguous.

The decisions to settle with the customer
DecisionWrite downAcceptance check
Reporting unitOne company and currency; approved CRM and billing accounts.A company with two currencies has two monetary rows.
Business definitionsOpen-deal stages, invoice status, payment timestamp and UTC interval.Closed deals and payments outside the interval do not enter the totals.
Identity mappingMaintained Stripe customer-to-HubSpot company IDs and their owner.Missing or multiple matches become review items before aggregation.
Data coverageRequired objects, associations, custom fields and historical interval.The discovered datasets actually contain each required input.
FreshnessMaximum acceptable data age for each required Source.A late required Source produces a labeled partial answer or stops the report.

This example measures paid invoice amounts. A request for MRR, ARR or revenue net of refunds needs its own definition and inputs. Keep that decision in the delivery notes so a later prompt change cannot silently change the metric.

Connect the right accounts and discover their real schema

  1. Confirm the customer boundary. Record the Combined Account and the exact provider accounts approved for this project. Check the connector's live status, available datasets and authorization requirements before committing to the delivery scope.
  2. Select the required data. Connect the Sources, choose relevant datasets and fields, and complete a successful sync. An authorization success alone does not establish that the records are ready.
  3. Discover through the delivery identity. Use list_sources, then list_datasets and describe_dataset. Save the logical relation names, field types and account identifiers needed by this project. Follow discovery cursors when another page is returned.
  4. Adapt the calculation. Map the teaching example to those relations and the customer's actual fields. Bind filter values as SQL parameters. Validate the result with someone who knows the customer's pipeline and billing rules.

Combined's Source workspace and discovery tools expose the operational details. If a required dataset is unavailable, change the project scope or connection plan before promising the answer. The HubSpot setup guide gives you a source-specific start.

Make delivery access and customer ownership explicit

Give the runtime its own identity and explicit query grants to the required Sources. A product role or the Account ID in an MCP URL does not grant access to the data. Narrow a Source grant with a dataset allowlist when the agent only needs part of it; use expiry and query bounds appropriate to the project. Combined applies the strictest relevant platform, Account and grant limits. See Access.

Ordinary grants do not inherit future Sources. A whole-Source grant can include newly accepted datasets in that Source; an explicit dataset allowlist gives you a narrower delivery boundary. Review that choice with the customer when adding a new dataset. The documented Combined support access policy is specific to authorized internal Combined support identities; being an FDE for your own customer does not confer that access.

At handoff, have the customer run the accepted query using the identity that will operate after delivery. Revoke temporary project access when it is no longer needed. Keep credentials in the runtime's secret storage and record the credential owner, rather than copying secrets into the handoff document.

Make the second run as understandable as the first

Use the existing HubSpot–Stripe worked example and its synthetic SQL fixture as a calculation check. Its sample relation names are teaching names; replace them with the discovered customer schema. The fixture supplies a customer map explicitly, so it does not demonstrate automatic matching between unrelated provider IDs.

In production, assign an owner to that mapping. Preserve the provider account, external IDs, effective mapping and unresolved exceptions. Avoid treating a company name or email-domain match as a verified join. Aggregate deals and invoices independently at company/currency level before combining them, so multiple records on both sides cannot multiply the monetary totals.

Before each time-sensitive answer, call get_freshness for the required Sources and compare the committed timestamps with the agreed limits. Combined's freshness reflects a successful data commit. Schedule availability depends on the Source and Account policy; a daily brief does not require a claim that every connector is real time. Use the free freshness checker to express the policy, and the freshness reference for its meaning.

Keep the SQL, parameters, reporting interval, Source scope and query receipt with the accepted result. Surface truncation or missing inputs. When a schema change affects a required field, recheck the mapping and calculation before resuming the report. This gives the next engineer a concrete answer to “what changed?”

Deliver a handoff the customer can run

Customer handoff responsibilities
DeliverableIncludeOngoing owner
Connection inventorySource/account IDs, selected datasets, schedule and authorization recovery steps.Customer data or application owner.
Metric contractDefinitions, customer map, currencies, time bounds and known exclusions.Named business owner with the implementing engineer.
Agent configurationClient setup, runtime identity, Source grants, secret location and revocation procedure.Customer runtime operator.
Acceptance evidenceExpected fixture output, authorized data checks, SQL and receipts.Delivery engineer; retained by the customer.
RunbookWhat to do for stale data, schema review, mapping conflicts or denied access.Named support owner and escalation route.

The platform evaluation worksheet captures these decisions and their evidence. Reuse the method for the next customer, then rediscover that customer's schema and review their definitions. Combined handles its managed ingestion, storage and query service; your delivery agreement still needs owners for provider authorization, business meaning and the agent runtime.

Start your first customer delivery with Combined

Start with Combined for the recurring business-data answer. Choose the first Source pair in the planner, then follow Claude Code setup or the client's preferred MCP connection. Combined starts with 5 million MAR without a card; the public rate after the trial is $5 per million MAR, prorated. Review the current terms and query limits against the customer's workload.

If the agent also updates a CRM or creates tasks, keep an action integration alongside the read-only data path. Our Composio review explains that operating model; Combined versus Composio helps choose the data foundation. The immediate deliverable is one useful, reproducible answer the customer can own.

Create your Combined workspace or plan the customer's apps.

Sources and further reading

Explore the documentation behind this guide. Product details checked on September 17, 2026.