Total Expert · AsyncAPI Specification

Total Expert Webhooks

Version

View Spec View on GitHub CompanyFintechCRMMarketing AutomationMortgageBankingLendingCustomer EngagementAsyncAPIEvents

AsyncAPI Specification

Raw ↑
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.
All 92 tools →

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.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.