.png)
Demandbase Integration Guide
Connect Demandbase account intelligence, people, intent, engagement, and advertising data with enterprise applications through REST APIs and orchestrated Martini workflows.
Demandbase integration options at a glance
Demandbase integrations should primarily use the Demandbase REST APIs, with exact endpoints and objects determined by the subscribed Demandbase products, tenant, and API permissions. Martini can consume these APIs, authenticate with environment-managed credentials, process paginated JSON responses, apply filters and checkpoints, and map data into CRM, marketing, warehouse, or internal API models. Broad webhook coverage, GraphQL, SOAP, general bulk APIs, and universal file APIs were not confirmed, so scheduled synchronization is often the safer design. Where Demandbase documents product-specific callbacks or exports, Martini can incorporate them after entitlement and event coverage are verified.
| Integration point | Supported by Demandbase? | Common use cases | How Martini supports it |
|---|---|---|---|
| REST APIs | Yes | Access Demandbase Accounts, People, Intent, Engagement, account lists, and product-specific advertising resources exposed to the tenant. | Martini can consume Demandbase REST endpoints, manage headers and credentials, process JSON, paginate requests, apply business rules, and expose normalized downstream APIs. |
| Authentication | Limited | Demandbase API access requires vendor-issued credentials, permissions, and potentially product- or tenant-specific provisioning. The exact API key, OAuth, or other scheme must be confirmed for each API. | Martini can store credentials as environment-managed secrets and apply the required authentication configuration without hard-coding values in workflows. |
| Webhooks / outbound callbacks | Not confirmed | Product-specific notifications may exist, but broad webhook coverage for Account, People, Intent, Engagement, or advertising changes was not confirmed. | Martini can receive webhook-style requests when Demandbase documents the specific callback and event contract; otherwise it can use scheduled workflows. |
| Bulk / asynchronous / batch APIs | Not confirmed | Bulk exports, batch endpoints, or asynchronous jobs may be available for particular Demandbase products, but general support was not confirmed. | Martini can orchestrate documented batch or export processes when available, or use paginated REST retrieval with checkpoints for large datasets. |
| File / attachment APIs | Not confirmed | Product-specific reports or exports may be available, but a general Demandbase file or attachment API was not confirmed. | Martini can process a documented export or file exchange when supplied, but the mechanism should be verified before designing the integration around it. |
| GraphQL APIs | Not confirmed | No official Demandbase GraphQL API was confirmed for this research. | Martini can consume GraphQL generally, but Demandbase integrations should use the confirmed REST path unless the customer provides authoritative GraphQL documentation. |
| SOAP APIs | Not confirmed | No current official Demandbase SOAP API was confirmed for new integrations. | Martini supports SOAP consumption generally, but a Demandbase SOAP integration should not be assumed or designed without product-specific confirmation. |
| Database / analytics access | No | Direct access to Demandbase-managed production databases was not confirmed. Approved APIs or documented exports should be used instead. | Martini can load approved Demandbase data into customer-owned warehouses through their supported interfaces, without requiring direct Demandbase database access. |
How Demandbase exposes data and business events
Demandbase REST APIs
REST is the primary Demandbase integration mechanism identified in the research. Available endpoints, fields, and resources depend on the Demandbase One product area, tenant, subscription, and granted permissions.
Martini implementation pattern
Martini implementation pattern: a scheduled workflow or exposed Martini API invokes the relevant Demandbase REST endpoint, applies vendor credentials from environment-managed secrets, follows pagination, transforms the JSON response, and writes validated data to one or more target systems.
Implementation sequence
Scheduled synchronization
A universal Demandbase event stream or webhook model was not confirmed. Scheduled retrieval is therefore a practical approach for changed or recently updated Accounts, People, Intent, Engagement, and other entitled resources.
Martini implementation pattern
Martini implementation pattern: use a scheduler-triggered workflow with updated-at filters, date ranges, or vendor cursors where available. Store synchronization state only after downstream writes succeed, and run reconciliation for missed or incomplete changes.
Implementation sequence
Product-specific callbacks
Demandbase may provide product-specific notifications or integration features, but general-purpose webhook coverage across Demandbase objects was not confirmed. Callback availability must be verified for the subscribed product and event type.
Martini implementation pattern
Martini implementation pattern: when a Demandbase callback is documented, expose a controlled Martini REST endpoint, validate the request according to the confirmed contract, retrieve the current resource if necessary, and use an idempotent workflow to update downstream systems. If callbacks are unavailable, retain scheduled polling.
Implementation sequence
Common Demandbase integration patterns
Pattern 1: Sync account intelligence to Salesforce
When to use this pattern
Use this pattern when sales teams need Demandbase account, intent, and engagement signals in Salesforce for prioritization and follow-up. It is appropriate when the relevant Demandbase product exposes the required resources and Salesforce APIs are authorized.
Integration direction
Example Mapping
| Demandbase Field | Canonical Field | Target Field |
|---|---|---|
| Account identifier | externalAccountId | Demandbase Account ID or external key |
| Account name | accountName | Account Name |
| Intent score or signal | intentSignal | Intent score or custom field |
| Engagement measurement | engagementScore | Engagement score or follow-up task |
Martini implementation pattern
A scheduled workflow retrieves paginated Demandbase Accounts and related signals, matches records using stable identifiers and approved domain or company rules, and applies thresholds before updating Salesforce. Martini validates fields, protects ownership and hierarchy values, retries transient failures, and records rejected or unmatched accounts for reconciliation.
Martini capabilities used
- workflows
- API consumption
- data mapping
- business rules
- error handling
- scheduled execution
Pattern 2: Synchronize people and accounts to Marketo
When to use this pattern
Use this pattern to support marketing segmentation, campaign targeting, and lead nurturing with selected Demandbase People, Accounts, and account-level signals. Exact object and field availability must be confirmed for both subscriptions.
Integration direction
Example Mapping
| Demandbase Field | Canonical Field | Target Field |
|---|---|---|
| Person identifier | personExternalId | Marketo person or lead key |
| Account name | accountName | Company |
| Intent topic | intentTopic | Custom field or segmentation attribute |
| Account list membership | audienceMembership | Program or segment membership |
Martini implementation pattern
Martini retrieves eligible Demandbase data on a schedule, normalizes contact and account attributes, applies privacy, consent, and audience rules, and sends idempotent updates to Marketo. Invalid records are isolated, transient API failures are retried, and campaign-status reciprocity is implemented only where the target APIs and business rules support it.
Martini capabilities used
- scheduled workflows
- API consumption
- data transformation
- validation
- business rules
- retry handling
Pattern 3: Load intent and engagement history into Snowflake
When to use this pattern
Use this pattern when the organization needs historical Demandbase signals for attribution, trend analysis, territory planning, or reporting rather than only current operational scores.
Integration direction
Example Mapping
| Demandbase Field | Canonical Field | Target Field |
|---|---|---|
| Account identifier | account_id | ACCOUNT_ID |
| Intent topic | intent_topic | INTENT_TOPIC |
| Intent timestamp | observed_at | OBSERVED_AT |
| Engagement measurement | engagement_value | ENGAGEMENT_VALUE |
Martini implementation pattern
A checkpointed workflow retrieves Demandbase data using incremental filters, cursors, or bounded date ranges where available. Martini flattens JSON, preserves source identifiers and timestamps, validates the warehouse schema, loads repeatably, and separates transient API failures from data-quality errors. Historical retention and deduplication rules are applied before or during loading.
Martini capabilities used
- workflows
- API consumption
- JSON handling
- data mapping
- checkpoint management
- error handling
Pattern 4: Distribute Demandbase account lists for activation
When to use this pattern
Use this pattern when approved Demandbase Account lists or segmentation attributes must be distributed to a sales activation or advertising platform. The specific export capability and target API should be verified before implementation.
Integration direction
Example Mapping
| Demandbase Field | Canonical Field | Target Field |
|---|---|---|
| Account list identifier | audienceId | Campaign audience reference |
| Account domain | companyDomain | Matched company identifier |
| Account eligibility | eligibleForActivation | Audience inclusion flag |
| Demandbase Account ID | sourceAccountId | External reference |
Martini implementation pattern
Martini retrieves the approved Demandbase Account list, applies consent, eligibility, deduplication, and suppression rules, and submits the resulting audience through the target platform's authorized API. The workflow tracks source and target identifiers, retries transient responses, and produces a reconciliation report for rejected or unmatched accounts.
Martini capabilities used
- API consumption
- workflows
- data mapping
- business rules
- deduplication
- error handling
Applications commonly integrated with Demandbase
Demandbase data can be coordinated with sales, marketing, advertising, and analytics applications through their respective APIs. Availability of particular objects, fields, and activation flows depends on the Demandbase product, customer entitlement, and target-system permissions.
| Application | Scenario | Direction | Martini Pattern |
|---|---|---|---|
| Salesforce | Enrich Salesforce Accounts, Leads, Contacts, or custom objects with Demandbase account intelligence, intent, and engagement signals to prioritize sales activity. | Demandbase → Martini → Salesforce | Run a scheduled Martini workflow, retrieve eligible Demandbase Accounts and signals through REST, match stable identifiers or approved account fields, apply scoring thresholds, and upsert Salesforce data with retries and reconciliation. |
| Marketo | Use Demandbase account and people attributes for segmentation, campaign targeting, and lead-nurturing decisions. | Demandbase → Martini → Marketo | Retrieve selected Demandbase People, Accounts, and Intent data, normalize fields, apply audience and consent rules, and write qualified updates to Marketo through its authorized API. |
| HubSpot | Synchronize account-level intent and enrichment information with marketing and sales records where the subscribed products and APIs support the required fields. | Demandbase → Martini → HubSpot | Use a checkpointed REST workflow to retrieve changed Demandbase data, match it to HubSpot records, validate optional fields, and perform idempotent updates while isolating vendor-specific mappings. |
| Microsoft Dynamics 365 | Provide sales teams with Demandbase account intelligence and prioritization signals in their CRM. | Demandbase → Martini → Microsoft Dynamics 365 | Poll Demandbase on a schedule, transform Accounts and engagement indicators into Dynamics 365 fields, apply ownership and hierarchy safeguards, and retry transient target-system failures. |
| Snowflake | Store historical Demandbase Intent, Engagement, Account, People, and campaign-related data for analytics, attribution, and trend reporting. | Demandbase → Martini → Snowflake | Retrieve paginated or incrementally filtered Demandbase data, normalize it into warehouse-ready structures, preserve source identifiers and timestamps, and load through controlled database or API operations. |
| Google BigQuery | Centralize Demandbase data with other marketing and sales datasets for reporting and analysis. | Demandbase → Martini → Google BigQuery | Schedule extraction workflows, transform nested Demandbase JSON into target schemas, validate required fields, and load batches using checkpoint and reconciliation logic. |
| 6sense | Compare or combine account intelligence and buying signals across account-based marketing platforms or through a shared warehouse. | Demandbase → Martini → 6sense | Retrieve approved Demandbase Account, Intent, and Engagement data, apply deduplication and governance rules, and exchange only the fields supported by the target API or intermediate data store. |
| LinkedIn Campaign Manager | Coordinate approved account-based audiences and advertising activation flows where the relevant Demandbase and LinkedIn capabilities are available. | Demandbase → Martini → LinkedIn Campaign Manager | Retrieve Demandbase Account lists and segmentation attributes, enforce eligibility and consent rules, deduplicate audience members, and send the resulting payload through the target platform's authorized API. |
How to build a Demandbase integration in Martini
Objective
Confirm the Demandbase products, API resources, tenant permissions, and authentication scheme before building the workflow.
Instructions in Martini
- Verify the enabled Demandbase products and API entitlement
- Confirm the required credential type, header format, scopes, and rotation process
- Store Demandbase credentials in Martini environment configuration or secrets
- Configure the authorized target-system credentials separately
Objective
Select scheduled retrieval as the default trigger unless the subscribed Demandbase product documents a usable callback or notification mechanism.
Instructions in Martini
- Define the synchronization interval and initial-load strategy
- Use a documented callback only after event coverage is confirmed
- Expose a Martini API when downstream systems need controlled on-demand retrieval
- Define the checkpoint, date range, or cursor strategy
Objective
Retrieve the Demandbase resources required by the business process while handling pagination, filtering, throttling, and transient errors.
Instructions in Martini
- Call the applicable Demandbase REST endpoint
- Retrieve Accounts, People, Intent, Engagement, Account lists, or advertising resources as entitled
- Follow pagination until the response is complete
- Handle rate limits and transient failures with bounded retries
Objective
Coordinate source retrieval, validation, transformation, target writes, state management, and operational outcomes in a maintainable Martini workflow.
Instructions in Martini
- Separate extraction, transformation, and target-write stages
- Use conditional routing for validation, entitlement, and eligibility outcomes
- Preserve source identifiers and processing context
- Commit the checkpoint only after downstream writes complete successfully
Objective
Convert Demandbase JSON and product-specific fields into a canonical model and the target application schema.
Instructions in Martini
- Map vendor-specific fields to canonical names
- Flatten or normalize nested JSON where required
- Handle optional fields and product-specific variations
- Apply account matching, privacy, consent, and business rules
Objective
Update operational applications or load approved customer-owned warehouses with repeatable and idempotent writes.
Instructions in Martini
- Prefer upserts using stable Demandbase identifiers
- Protect target ownership, hierarchy, and manually managed fields
- Load high-volume historical data into a warehouse when appropriate
- Capture rejected, unmatched, and partially processed items
Common Demandbase data objects used in integrations
| Object | Typical Use | Common target systems | Martini handling |
|---|---|---|---|
| Accounts | Companies or organizations analyzed, targeted, scored, or engaged in Demandbase. | Salesforce, Microsoft Dynamics 365, HubSpot, Snowflake, Google BigQuery | Martini retrieves Accounts through the applicable REST API, matches stable identifiers and approved account attributes, applies hierarchy and ownership rules, and upserts or loads the target representation. |
| People | Individual contacts or professionals associated with Demandbase Accounts. | Marketo, Salesforce, HubSpot, Snowflake, Google BigQuery | Martini validates permissions and required fields, maps contact attributes to the target model, applies privacy and consent rules, and handles duplicates using stable identifiers where available. |
| Intent | Account-level signals indicating research activity or interest in particular topics. | Salesforce, Marketo, Snowflake, Google BigQuery, 6sense | Martini retrieves available signals, applies time-window and threshold rules, normalizes topic and score fields, and stores historical data separately when volume is too high for operational systems. |
| Engagement | Account interactions and engagement measurements used to assess buying activity. | Salesforce, Microsoft Dynamics 365, Snowflake, Google BigQuery | Martini transforms engagement measures into target-specific scores or events, preserves source timestamps, and uses incremental checkpoints and reconciliation for repeatable synchronization. |
| Advertising campaigns | Campaign-related targeting, delivery, or performance data exposed by the relevant Demandbase advertising product. | Snowflake, Google BigQuery, LinkedIn Campaign Manager | Martini confirms product-specific resource availability, retrieves campaign data, applies reporting or activation rules, and isolates advertising mappings from the common account model. |
| Account lists | Groups of Accounts used for segmentation, targeting, reporting, or sales activation. | Salesforce, Marketo, LinkedIn Campaign Manager, Snowflake | Martini retrieves approved lists, validates eligibility and consent, deduplicates account identifiers, and distributes the resulting audience or analytical dataset through target APIs. |
Authentication and security considerations
Credential and entitlement controls
Demandbase API access depends on the enabled product, tenant, subscription, permissions, and potentially separate provisioning. Confirm the required API key, OAuth, or other credential model for each API rather than assuming one authentication method applies universally.
- Store Demandbase credentials in Martini environment configuration or secrets.
- Use the required HTTP headers and scopes documented for the customer API.
- Separate credentials by environment and product where appropriate.
- Apply least-privilege access and rotate credentials according to the customer process.
- Protect People data with appropriate privacy, retention, and access controls.
Operational considerations for Demandbase integrations
Reliable synchronization
Demandbase data availability and schema can vary by product and tenant. Design workflows for pagination, optional fields, rate limits, and incremental retrieval rather than assuming fixed response shapes or universal event coverage.
- Confirm rate limits and handle HTTP 429 responses with bounded exponential backoff.
- Use updated-at filters, cursors, or date ranges where available.
- Store checkpoints only after downstream writes succeed.
- Use stable Demandbase identifiers, upserts, and mapping tables to prevent duplicates.
- Separate authentication, permission, validation, rate-limit, and target-system failures.
- Test account matching, schema changes, parent-child relationships, and high-volume Intent or Engagement loads.
- Use reconciliation workflows and operational logs for incomplete or rejected records.
Why use Martini instead of scripts or point-to-point integrations?
More than a point-to-point script
Martini provides a maintainable orchestration layer for Demandbase integrations without requiring a dedicated native connector. It can consume REST APIs, expose controlled APIs, coordinate scheduled workflows, and apply shared transformation and validation logic across multiple targets.
- Centralize Demandbase authentication and environment-specific configuration.
- Reuse pagination, throttling, retry, checkpoint, and reconciliation patterns.
- Map product-specific Demandbase resources into canonical models and target schemas.
- Apply account matching, eligibility, privacy, and business rules consistently.
- Route the same Demandbase data to Salesforce, Marketo, warehouses, or other authorized APIs.
- Provide workflow logging and operational separation between transient failures and data-quality issues.
Frequently asked questions
Demandbase can be integrated primarily through its REST APIs, with available endpoints and objects determined by the subscribed product, tenant, and permissions. Enterprise workflows can retrieve Accounts, People, Intent, Engagement, account lists, and product-specific advertising data, then map the results into CRM, marketing, warehouse, or activation systems. Product-specific callbacks or exports may be available but must be verified.
Yes. Martini can integrate with Demandbase by consuming its documented REST APIs, storing Demandbase credentials as environment-managed secrets, handling pagination and throttling, transforming JSON, and orchestrating writes to downstream systems. Where a product-specific callback or export is confirmed, Martini can incorporate that mechanism as well.
No. A dedicated Demandbase connector is not required. Martini can use Demandbase's confirmed native integration mechanisms, primarily REST APIs, together with workflows, authentication configuration, mappings, business rules, and error handling.
Lonti does not charge an additional per-connector or per-vendor fee to integrate Demandbase. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Demandbase, cloud infrastructure, or other third-party systems depending on subscription, usage, and deployment model.
REST APIs should be treated as the primary integration method. GraphQL and current SOAP APIs were not confirmed, and broad bulk, file, and webhook capabilities were also not confirmed. Scheduled, paginated REST synchronization is often the most dependable design unless the specific Demandbase product documents another mechanism.
A universal Demandbase event stream or webhook model was not confirmed. Product-specific notifications or callbacks may exist, but event coverage must be verified for the subscribed product and object. Martini can receive a documented callback or use scheduled polling with checkpoints when callbacks are unavailable.
Martini can run scheduled workflows that retrieve changed or recently updated data using Demandbase filters, cursors, or date ranges where available. The workflow should paginate results, preserve a checkpoint after successful target writes, use stable identifiers for idempotent upserts, and run reconciliation for missed or incomplete changes.
Yes. Martini can consume Demandbase REST APIs in a workflow and expose a controlled REST API that returns normalized, filtered, or aggregated Demandbase data to approved downstream applications. This can reduce the number of systems that need to understand Demandbase-specific resource formats.
Related Martini documentation
Workflows
Build a maintainable Demandbase integration with Martini
Use Martini to connect Demandbase REST APIs with CRM, marketing, warehouse, and activation systems through secure workflows, reusable mappings, controlled APIs, and operational error handling.