Settings > Webhooks (the page itself is titled Inbound Webhook) lets an external CRM automatically create deals in TED by sending JSON to a private URL. Admin only.
At the top of the page, two tabs — Generic CRM and InvestorFuse — switch between two separate, independently-configured endpoints. This article covers Generic CRM; see Connecting InvestorFuse for the ready-made InvestorFuse preset, which uses this same two-step pattern with a couple of InvestorFuse-specific extras.
Step 1: Required-field defaults
Every webhook-created deal needs an owner, deal type, and address, so set fallbacks first: Default Owner (pre-filled to you), Default Deal Type, and Fallback Address. The payload's own values always override these when present. The Default Owner is used when your CRM sends no agent email, or the email matches nobody on the team (see Landing deals on the right agent). Select Save & Generate URL the first time — nothing on this page saves automatically, and your URL and token don't appear until all three are saved. (Once you've set this up, the same button is labeled Save Defaults if you come back to change one of the fields.)
Step 2: Your URL, token, and field mapping
Once defaults are saved, TED shows your POST URL and an
X-Webhook-Token Header Value — copy both into your CRM (send the token
as the X-Webhook-Token header on every request). Select Rotate to
generate a new token if the old one is compromised; the old one stops
working immediately, so update your CRM first. The card's status badge
reads Active or Inactive, and a Deactivate/Activate button
in the action row below it lets you pause deliveries without losing your
URL. Expand Documented payload shape to see the recognized JSON keys —
anything else is preserved rather than dropped.
If your CRM uses different field names, add rows under Field Mapping — enter the exact CRM key on the left and pick the matching TED Field on the right, then select Save Mapping. Unmapped keys still come through untouched; nothing is ever silently dropped.
Closing Date (Original) is the closing date in the contract; map Actual Closing Date only if your CRM records the day a deal really closed. Earnest money has its own group: EMD Amount, EMD Due Date, EMD Received Date and EMD Held By. Leave EMD Due Date unmapped and TED fills it from the contract date plus your team's EMD business days.
Deliveries are rate-limited to 60 requests per 60-second window per endpoint; anything over that is rejected and logged as Throttled.
Landing deals on the right agent
If your CRM can send the acquisitions agent's email, map that field to
Acquisitions agent email under Field Mapping (or send it as
owner_email). When a deal arrives, TED looks for someone on your team with
that email — capital letters and extra spaces don't matter, but the address
otherwise has to match exactly (jane+crm@ is not jane@).
- One teammate matches: they become the deal's owner, and they're added to Assigned Employees automatically if exactly one of their roles is an acquisitions role (a role mapped to the owner seat).
- Nobody matches (or two teammates share the email): the deal goes to your Default Owner, nobody is added to Assigned Employees, and every team admin gets a CRM Agent Not Matched notification naming the email and who the deal went to. Fix it by adding that person to the team, or by changing their TED email to match the CRM.
- No agent email sent: nothing changes — the deal goes to the Default Owner, with no notification.
Only people on this team can match — someone on another team with the same email never does.
Creating the seller contact
If your CRM sends the seller's details, each new deal comes in with its
Seller contact already linked. Under Field Mapping, the TED Field
list groups these under Seller: Seller Full Name, Seller First
Name, Seller Last Name, Seller Email, and Seller Phone (or send
them as seller_name, seller_first_name, seller_last_name,
seller_email, and seller_phone).
- The seller is already in your contacts: TED links that contact instead
of creating a duplicate. It matches on email first (capital letters don't
matter), then on phone (formatting doesn't matter —
(512) 555-0100and512-555-0100are the same number). Only your team's contacts can match. - The seller is new: TED creates the contact with whatever name, email, and phone the CRM sent. A name with no email or phone still creates the contact, just without contact details.
- A full name only: when you send Seller Full Name and no first or last name, TED splits it at the last space — "Mary Ann Smith" becomes first name "Mary Ann", last name "Smith". If your CRM sends first and last name separately, map those instead and they're used as-is.
- No seller details sent: the deal comes in with no seller, as before.
The seller's name is still added to the deal's Notes too, so nothing you relied on before changes.
Recent Deliveries
The last 50 requests show here with a status badge — Created (green), Throttled (amber), or Rejected (red) — a timestamp, and either a View deal link or the rejection reason. When your CRM sent an agent email, a created delivery also says Agent matched: [name] or No match for [email] — default owner used. Expand a row to see the raw payload TED received, useful for diagnosing "I sent a deal but nothing showed up."