Skip to content

Marketing Automation · Beta

Qualified
API integration

Ship Marketing Automation features without building the integration. Full Qualified API access via Proxy and 20+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Qualified

Use Cases

Why integrate with Qualified

Common scenarios for SaaS companies building Qualified integrations for their customers.

01

Revenue Intelligence for Live Chat Interactions

Coaching and conversation analytics platforms can pull rep-led chat transcripts from Qualified to sit alongside call recordings, giving sales managers a unified view of how AEs handle inbound conversations in real time.

02

ABM & Intent Data Activation

Intent data and ABM platforms can push firmographic scores and buying stage signals into Qualified as custom company fields, so their customers' website routing rules can page live reps for accounts showing high purchase intent.

03

Lead Routing & Meeting Governance

RevOps tooling can ingest Qualified-booked meetings, validate them against territory rules, and programmatically cancel or reroute erroneous appointments before they hit reps' calendars.

04

Customer Data Platforms & Attribution

CDPs and attribution tools can ingest Qualified sessions, conversations, and lead identifiers to stitch anonymous website behavior into full buyer journey maps tied back to CRM opportunities.

05

Compliance & Privacy Automation

Data privacy platforms can programmatically submit GDPR deletion requests to Qualified when their customers process right-to-erasure tickets, ensuring website engagement records are wiped across their stack.

What You Can Build

Ship these features with Truto + Qualified

Concrete product features your team can ship faster by leveraging Truto’s Qualified integration instead of building from scratch.

01

Delta sync of sessions, conversations, and messages

Continuously ingest Qualified sessions, conversations, and messages into your product, respecting Qualified's 30-minute hold-back window on list endpoints for reliable delta syncs.

02

AI SDR performance dashboards

Surface AI telemetry from bot conversations — including AI-captured emails, bot-created Salesforce leads, and AI goal outcomes — to measure autonomous agent effectiveness.

03

Bulk enrichment of leads and companies

Push external IDs, firmographic attributes, and intent scores into Qualified in batches of up to 500 records per job using asynchronous bulk jobs for nightly syncs.

04

Meeting lifecycle management

Fetch individual Qualified meetings by ID for real-time visibility, then cancel or delete meetings programmatically when they violate routing or territory rules.

05

Dynamic custom field mapping

Discover available lead and company field schemas at runtime so your users can map their own CRM or product attributes into Qualified without hardcoded configuration.

06

Automated GDPR erasure workflow

Submit up to 5,000 emails per request to Qualified's GDPR deletion endpoint when downstream privacy events fire in your customers' systems.

SuperAI

Qualified AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_qualified_leads

List Qualified leads, newest first, with their custom field values and CRM integration IDs. Returns: id, email, fields, createdAt, updatedAt, visitorIds, salesforceLeadId, salesforceContactId, pardotProspectId, marketoLeadId, hubspotContactId, eloquaContactId. Filter by time windows (updated_after/updated_before or created_after/created_before) or look up a single person with email. Leads appear…

get_single_qualified_lead_by_id

Get a single Qualified lead by id. Lead ids come from the list endpoint, from an email's leadId, or by matching an activity's visitorId against a lead's visitorIds. Returns: data. Required: id.

create_a_qualified_lead

Create or update a Qualified lead, matched by email address. Only the field values you send are written; others are left untouched. Returns the lead object directly (not wrapped in a data envelope) including id, email, fields, createdAt, updatedAt, visitorIds, salesforceLeadId, salesforceContactId, pardotProspectId, marketoLeadId, hubspotContactId, eloquaContactId. Required: email.

create_a_qualified_company

Create or update a Qualified company by domain, setting account-level field values that every lead on that domain inherits. Returns: id, domain, name, fields, createdAt, updatedAt. Only account-category fields are accepted; companies cannot be read back via a GET endpoint. Required: domain.

get_single_qualified_bulk_job_by_id

Get a bulk job. Returns: job. Required: id.

create_a_qualified_bulk_job

Submit a bulk job to Qualified for asynchronous processing of up to 500 create-or-update operations on leads or companies. Returns: id, status, totalRecords, processedRecords, failedRecords, result, createdAt, updatedAt. Only the POST action and lead/company entities are supported; max 500 items per batch. Required: items.

list_all_qualified_sessions

List website sessions in Qualified, ordered newest-first by endedAt. Returns: id, createdAt, endedAt, visitorId, visitor, userAgent, conversationIds, pageViews, meetingIds. Filter with ended_after/ended_before and visitor_id. Sessions appear in list results 30 minutes after they end; a bound inside that hold is rejected with 400.

get_single_qualified_session_by_id

Get a single Qualified session by id. Returns: data. By-id reads are not subject to the 30-minute list hold-back and always return the latest data. Required: id.

list_all_qualified_conversations

List engaged chat conversations in Qualified, newest first. Returns: id, sessionId, meetingIds, experienceName, createdAt, endedAt, userId, visitorId. Conversations become available in this list 30 minutes after the session ends; window with ended_after and ended_before.

get_single_qualified_conversation_by_id

Get a single Qualified conversation by id. Returns: data. Returns 404 if the conversation is not engaged. Required: id.

list_all_qualified_messages

List messages across all engaged conversations in Qualified, newest first. Returns: id, type, text, createdAt, senderType, senderName, conversationId. Messages become available 30 minutes after their session ends; event-type messages are excluded. Supports created_after/created_before and updated_after/updated_before time-window filters (updated_* behaves identically to created_* since messages…

get_single_qualified_message_by_id

Get a single message by id in Qualified. Returns: data. Event-type messages return 404. Required: id.

list_all_qualified_meetings

List meetings in Qualified, newest first. Returns each meeting with id, visitorId, sessionId, conversationId, attendees, meetingTypeName, status, channel, createdAt, and updatedAt. Filter by created_after/created_before, updated_after/updated_before, or visitor_id. Meetings appear in list results 24 hours after creation; use the get-by-id endpoint for real-time reads.

get_single_qualified_meeting_by_id

Get a single Qualified meeting by id. Returns: data. A by-id read is not subject to the 24-hour list hold-back and returns the latest data. Required: id.

qualified_meetings_cancel

Cancel a meeting. Returns: message. Required: salesforce_event_id.

delete_a_qualified_meeting_by_id

Cancel a booked meeting in Qualified by its Salesforce Event ID. Returns: message. Required: id, salesforce_event_id. Requires the meetings API to be enabled for the team.

list_all_qualified_emails

List outbound email activity sent from Qualified, newest first. Only sent and bounced mailings are included. Returns: id, parentEmailId, subject, provider, status, leadId, campaignName, senderEmail, recipientEmail, body, mailingType, sentAt, openedAt, repliedAt, clickedAt, bouncedAt, bounceType, createdAt, updatedAt. Filter by lead_id or window with created_after/created_before and…

get_single_qualified_email_by_id

Get a single outbound email activity by id in Qualified. Returns: data. Reads by id are always current, bypassing the 30-minute availability hold that applies to list results. Required: id.

list_all_qualified_bot_conversations

List bot conversations from the Qualified legacy reporting API, each with nested visitor, user, messages, meetings, calls, and AI goals. Returns: id, started_at, ai_started_at, ai_captured_email, visitor, bot, rep_conversation_id, salesforce_lead_captured_by_bot, pardot_prospect_captured_by_bot, marketo_lead_captured_by_bot, eloqua_contact_captured_by_bot, meetings, messages, ai_goals, user,…

list_all_qualified_rep_conversations

List rep conversations. Returns: id, started_at, visitor, user, bot_conversation_id, salesforce_lead_captured_by_rep, pardot_prospect_captured_by_rep, marketo_lead_captured_by_rep.

list_all_qualified_lead_fields

List custom field definitions for leads in Qualified so you can map API names to types when ingesting the fields object. Returns: id, label, type, name, options, createdAt, updatedAt.

list_all_qualified_company_fields

List custom field definitions for companies (account category) in Qualified. Returns: id, label, type, name, options, createdAt, updatedAt. The `name` field is the API key used when setting values in a company's `fields` object.

list_all_qualified_conversation_messages

List messages in a Qualified conversation, newest first. Returns: id, type, text, createdAt, senderType, senderName, conversationId. Event-type messages are excluded. Required: conversation_id.

create_a_qualified_gdpr_deletion_request

Submit a batch of email addresses for GDPR deletion in Qualified. Returns: message. Required: emails. Up to 5,000 emails per request; every address must be well-formed or the entire request is rejected.

Why Truto

Why use Truto’s MCP server for Qualified

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Qualified in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Qualified account

Use Truto’s frontend SDK to connect your customer’s Qualified account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Qualified

Truto’s Proxy API is a 1-to-1 mapping of the Qualified API. You call us, we call Qualified, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Qualified’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Qualified on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does Truto handle Qualified authentication?

Truto manages the full auth handshake with Qualified on behalf of your end users, so you never store or refresh credentials directly. Your app simply references a Truto connection ID when making tool calls.

How fresh is data returned by list endpoints?

Qualified enforces a 30-minute hold-back on list endpoints for sessions, conversations, and messages after a session ends, and a 24-hour hold-back on meeting lists. For real-time meeting data, use get_single_qualified_meeting_by_id with an ID sourced from a webhook or upstream event.

Can I update leads or companies in bulk?

Yes. Use create_a_qualified_bulk_job to asynchronously upsert up to 500 leads or companies per job, which is the recommended pattern for nightly enrichment syncs and mapping external CRM IDs into Qualified.

How do I work with custom fields on leads and companies?

Call list_all_qualified_lead_fields and list_all_qualified_company_fields to discover the schema — including custom fields — at runtime. You can then map your users' attributes into create/update calls or bulk jobs without hardcoding field IDs.

How do I distinguish AI SDR conversations from human rep conversations?

Qualified exposes list_all_qualified_bot_conversations for AI-driven interactions (with fields like ai_captured_email, salesforce_lead_captured_by_bot, and ai_goals) and list_all_qualified_rep_conversations for human-led chats, so you can build separate analytics flows for each.

Can I honor GDPR deletion requests through the integration?

Yes. create_a_qualified_gdpr_deletion_request accepts up to 5,000 emails per request for hard deletion across Qualified's databases, letting you wire it into your existing privacy or DSAR workflow.

Qualified

Get Qualified integrated into your app

Our team understands what it takes to make a Qualified integration successful. A short, crisp 30 minute call with folks who understand the problem.