Apex Motors
Installation center
Connect lead sources, verify intake and clear go-live blockers.
Readiness
- Integration not tested — run an isolated test intake
- Endpoint configured, not yet proven — no live lead received yet (test intakes do not count)
- 3 required checklist items incomplete
Recommended, not blocking basic email
- • Scheduler not configured — due emails send only when processed manually
- • Delivery webhook not configured — sent emails are not updated to delivered/bounced (sending still works)
- • Reply capture not configured — replies go to the reply-to inbox and do not cancel follow-ups automatically
Implementation checklist
Lead intake endpoints
/api/public/intake/<endpoint-public-id>
Connection guide · Apex website form (demo)
curl -X POST '/api/public/intake/<endpoint-public-id>' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <ENDPOINT_SECRET>' \
-H 'Idempotency-Key: <unique-submission-id>' \
-d '{"external_lead_id":"web-10421","first_name":"Jane","last_name":"Doe","email":"jane@example.com","message":"Is this car available?","vehicle_external_ref":"STOCK-123"}'Example canonical body:
{
"external_lead_id": "web-10421",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"message": "Is this car available?",
"vehicle_external_ref": "STOCK-123"
}Secrets must never be placed in browser JavaScript or public website code. Browser forms should post to the dealership’s own server or automation tool, which forwards to REVDRIVE.
Responses: 201 accepted · 200 duplicate · 401 bad secret · 403 disabled · 413 too large · 415 not JSON · 422 invalid fields · 429 rate limited (Retry-After). IP allowlisting uses the edge-provided client IP only.
Mapping preview & isolated test · Apex website form (demo)
Validate runs the endpoint’s mapping and checks without saving anything. Isolated test intake stores a TEST-tagged lead through the real path — it never enrolls automation. No email will be sent.
Admins and managers can run tests.
Canonical fields
| Field | Type | Required | Notes |
|---|---|---|---|
| external_lead_id | string | Recommended | Your system’s lead ID — repeats never create duplicates |
| first_name | string | Optional | Max 100 chars |
| last_name | string | Optional | Max 100 chars |
| name | string | Optional | Full name, split when first/last are missing |
| string | Email or phone required | Lower-cased and trimmed | |
| phone | string | Email or phone required | Digits, spaces, + ( ) - . only; country is not guessed |
| message | string | Optional | Max 5000 chars |
| source | string | Optional | Lead source name, e.g. Website |
| vehicle_external_ref | string | Optional | Links to inventory only if that stock ref exists |
| vehicle_make | string | Optional | |
| vehicle_model | string | Optional | |
| vehicle_variant | string | Optional | |
| vehicle_year | number | Optional | 1950 – next year |
| finance_interest | boolean | Optional | |
| consent_status | opted_in | unknown | opted_out | Optional | Defaults to unknown; opted_out never gets automated follow-ups |
| preferred_contact | email | phone | sms | whatsapp | unknown | Optional | |
| metadata | object | Optional | Safe extras, max 4 KB and 3 levels deep |
At least one of email or phone is required. Idempotency-Key header and external_lead_id each prevent duplicate leads and duplicate follow-ups.
Outbound email
Fictional demo sender, sequence and deliveries. No provider is contacted in demo mode.
Sender identities
sales@apexmotors.example · resend
Replies: set to REVDRIVE, but reply capture is not live — falls back to the direct reply-to
Fictional demo sender — domain shown as verified for illustration · checked 20 Sept, 08:00
Basic outbound email readiness
- Outbound email ready — verified sender and active sequence
Recommended for closed-loop automation
- • Scheduler not configured — due emails send only when processed manually
- • Delivery webhook not configured — sent emails are not updated to delivered/bounced (sending still works)
- • Reply capture not configured — replies go to the reply-to inbox and do not cancel follow-ups automatically
Provider key
Present
Scheduled sending
Not configured
Delivery webhook
Not configured
Reply capture
Not configured
Scheduler last successful run: never
Delivery webhook last event: none received yet
Receiving domain: not set · Current reply behaviour: replies go to the direct reply-to inbox (not visible to REVDRIVE)
Email queue
Pending
1
Blocked
1
Sent
1
Failed
0
Cancelled
1
Last send attempt
20 Sept, 09:15
Process due emails
Verified outbound email is connected. Due jobs send only when processed manually until the scheduler is live. Stop conditions are re-checked before every send.
Due now: 2 · Scheduled sending: Not configured
Send a test email
Only test leads (created with “Send test lead”) can be chosen. The email goes to that lead's stored address through the same queue.
How to connect Resend
- Create a Resend account and an API key with sending access.
- Add it as the server secret
RESEND_API_KEY(never in the browser). - Add and verify the dealership's sending domain in the Resend dashboard (DNS records).
- Add the sender here with an address on that domain, then press “Check verification”.
- Create templates and an active new-lead sequence on the Automation page.
Recent inbound events
| Received | Endpoint | Key | Status | Details |
|---|---|---|---|---|
| 20 Sept, 09:14 | Apex website form (demo) | web-1042 | processed | — |
| 20 Sept, 09:16 | Apex website form (demo) | web-1042 | duplicate | — |
| 19 Sept, 16:40TEST | Apex website form (demo) | — | rejected | payload: email or phone is required |
Integration health
lead source · last activity 20 Sept, 09:14
crm · no activity recorded
email · no activity recorded
Status reflects stored records only. Nothing is shown as connected unless it has actually been configured or received data.