Total Expert · AsyncAPI Specification
Total Expert Webhooks
Version
View Spec
View on GitHub
CompanyFintechCRMMarketing AutomationMortgageBankingLendingCustomer EngagementAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-13'
method: searched
source: >-
https://documenter.getpostman.com/view/1929166/total-expert-public-api/6Z2RYyU
(Webhooks section of the Total Expert Public API documentation) +
https://totalexpert.freshdesk.com/support/solutions/articles/22000296302-outbound-data-connector-advanced-guide
spec_type: Webhooks
notes: >-
Total Expert publishes no AsyncAPI document. This captures its two documented
outbound event surfaces: (1) Webhooks — organizations subscribe an HTTPS
endpoint to a set of actions and receive POST notifications when those actions
occur; and (2) the Outbound Data Connector (ODC), a templated JSON push to an
external system or API on a trigger.
subscription:
create: POST /v1/webhook-subscriptions (see openapi/total-expert-openapi.yml#createWebhookSubscription)
list_actions: GET /v1/webhook-actions returns the full list of subscribable actions (openapi/total-expert-openapi.yml#fetchWebhookActions)
manage:
- openapi/total-expert-openapi.yml#fetchWebhookSubscriptions
- openapi/total-expert-openapi.yml#fetchWebhookSubscription
- openapi/total-expert-openapi.yml#updateWebhookSubscription
- openapi/total-expert-openapi.yml#deleteWebhookSubscription
requirements:
- url: Notification target. Must be HTTPS protected by a valid certificate.
- actions: List of actions to subscribe to. An action comprises an 'entity' and a 'verb' (e.g. item CONTACT, action CREATED); fetch the full list from /v1/webhook-actions.
- secret: Included in every notification for authenticity. A randomly generated 32-64 char hex string is suggested (up to 255 chars supported); rotate via PATCH on the subscription.
scope: Each organization can have several webhooks; each webhook can register multiple actions. remove_actions is a special POST/PATCH attribute for unsubscribing actions.
notification:
transport: HTTP POST to the subscribed URL
body:
item: Name of the subscribed item, e.g. 'CONTACT'
action: Name of the subscribed verb, e.g. 'CREATED'
id: The database ID of the item
hashValue: HEX string representing the contents of the affected record
secret: The secret specified on the subscription
hash_semantics: >-
hashValue is unchanged when a notification fires without an actual data
change (e.g. a no-op save in the UI), so repeated notifications with the
same hash can safely be ignored. Compare only against the most recent
notification received.
delivery_limits: >-
Notifications fire only for contact records associated with your
organization; co-marketers of organizational contacts do not receive
notifications.
outbound_data_connector:
name: Outbound Data Connector (ODC)
docs: https://totalexpert.freshdesk.com/support/solutions/articles/22000296302-outbound-data-connector-advanced-guide
guide_pdf: https://totalexpert-trainingteam.s3.us-east-2.amazonaws.com/TE_OutboundDataConnector/Outbound+Data+Connector.pdf
modified: '2026-08-11'
description: >-
ODC pushes a structured JSON payload to an external system or API whenever a
trigger fires (a workflow step, a status change, or a scheduled event). The
payload is authored as a template: each JSON value can be static, or a
dynamic value resolved at send time from the triggering record using Liquid
template tags. One connector configuration serves thousands of records.
templating:
language: Liquid
constructs:
- {syntax: '{{ variable }}', purpose: renders a field or expression into the output}
- {syntax: '{% logic %}', purpose: executes logic (if/else, loops, assignments); produces no output itself}
- {syntax: '{{ variable | filter }}', purpose: transforms the output value before rendering; filters chain left to right}
note: >-
The advanced guide publishes a full filter library (string case, number
and math, date, default/fallback), conditional logic patterns, and a tag
reference. Total Expert cautions that platform implementations may support
only a subset of Liquid filters, so each filter should be tested in the
target environment.
data_objects:
- {object: contact, description: Contact record that triggered the event, example: '{{contact.f_name}}'}
- {object: owner, description: The user (loan officer) who owns the contact or loan, example: '{{owner.email}}'}
- {object: loan, description: The loan record associated with the trigger, example: '{{loan.amount}}'}
- {object: lead, description: The lead record associated with the trigger event, example: '{{lead.stage}}'}
- {object: 'brand_*', description: Organization-level branding variables, example: '{{brand_company_name}}'}
- {object: contact.enriched.rate, description: Enriched rate/market data on the contact, example: '{{contact.enriched.rate.loan_rate}}'}
- {object: contact.enriched.equity, description: Enriched equity/property data on the contact, example: '{{contact.enriched.equity.estimated_ltv}}'}
- {object: contact.enriched.debt, description: Enriched debt/credit profile data on the contact, example: '{{contact.enriched.debt.credit_score}}'}
scoping_caveat: >-
Not every object is available in every trigger context — a loan-triggered
connector exposes loan.* fields, a contact-triggered connector may not.
Consumers must verify which objects are in scope for the workflow trigger.
recent_changes:
- {date: '2026-06-08', change: 'Lead Entity Support — loan purpose, property information and lead ID can be included in ODC payloads to third-party systems such as AI sales agents and dialers.', source: 'https://totalexpert.freshdesk.com/support/solutions/articles/22000295615-2026-june-release-notes'}
inbound_callback_contracts:
- name: TE Connect PPE
direction: Total Expert -> partner endpoint
description: >-
Total Expert POSTs a rate-quote request to a partner-configured pricing
engine endpoint and consumes the response. The provider publishes the full
field-level request/response schema as a downloadable YAML file.
schema: vocabulary/total-expert-te-connect-ppe-schema.yml
docs: https://totalexpert.freshdesk.com/support/solutions/articles/22000293934-te-connect-ppe-integration-guide
use_cases:
- Keep an external CRM in sync with contacts/leads created or updated directly in Total Expert.
- Propagate contact deletions/archivals to a mirrored database.
- Sync email opt-outs so downstream systems stop communicating with opted-out contacts.
- Push templated JSON to a downstream API (AI sales agent, dialer, data warehouse) on a workflow trigger via ODC.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/total-expert-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.