Settings · AI & Alerts

Notifications

Notifications decides who hears about appointments and calls: by email, by text message, or by webhook to systems you run yourself.

Quick Answer - 30 Seconds

To get notified: Account settings → AI & Alerts → Notifications → find the event → type an email address, a phone number or a webhook URL → press Enter → done. Each list saves itself.

Leave a list empty and nobody hears of that event. Account notices always reach you, whatever you set here.

What this controls

Six events, each with its own list of recipients:

RowWhen it fires
New bookingA customer books an appointment
RescheduleAn appointment moves to a new time
CancellationAn appointment is cancelled
Emergency callA caller reported an emergency, booked or not
Call back overdueAn escalation passed the promised window without being marked called back
Unbooked callA bookable caller hung up without a booking

The first three fire per appointment, not per lead. A chat that never books sends nothing.

Where to find it

Location: Account settings → AI & Alerts → Notifications

→ app.onepath.ai/settings/account/notifications

Appointment and call notifications card with six event rows, each with chips for email addresses, phone numbers and webhooks, a field reading Add email, phone or webhook URL, and a Send test webhook button
One row per event, and one list for email addresses, phone numbers and webhooks

Company Owners and Account Admins manage this page from Account settings.

Add a recipient

Each row has one field, Add email, phone or webhook URL. OnePath reads what you type and decides how to reach it:

You typeOnePath reads it asWhat it sends
Anything with an @, like dispatch@example.comEmailAn email
A US or Canadian number, like (512) 555-0142PhoneA text message
A web address starting with http:// or https://WebhookA JSON POST to your system
  1. Find the event.
  2. Type the recipient and press Enter (or a comma). Repeat for more people or systems.
  3. Wait for Notification preferences updated successfully. There is no Save button; the list saves itself.

Each entry shows an icon for how it is reached: an envelope, a phone or a webhook. An entry that fits none of them stays in the field with an error, and is not saved. A phone number from outside the US and Canada cannot be texted, so the page refuses to save until you remove it.

To remove a recipient, click the × on their chip. Each event has its own list, so bookings can go to sales by email and cancellations to a dispatcher's phone.

Email

The subject reads New Appointment Booked - [customer name] - [appointment time] (or Appointment Rescheduled / Appointment Cancelled). A View appointment button opens the appointment in OnePath. Cancellations include the reason when one was recorded.

A call event's email says what was captured on the call and the caller's number, with an Open in OnePath button.

Text messages

Type a phone number into a row and that event is texted to it. There is nothing else to turn on.

Texts go out from your OnePath number, so your account needs one. You pick it under Voice & RCS Text Messaging. Without a number, the text does not go out.

Each text is short: what happened and who it is about, the details, and a link. A cancellation reads like this:

Appointment cancelled: Harper Quinn
HVAC / Repair · November 10, 8:00 AM – 10:00 AM CST
Sick this morning
https://app.onepath.ai/customers/1042/appointments/2318

When a text goes out

From 7 AM to 9 PM in your account's time zone, a text goes out right away. Overnight, it waits until 7 AM.

These go out right away at any hour, because a crew may be on its way before the morning:

  • An Emergency call.
  • A New booking, Reschedule or Cancellation for a visit that starts within the next 24 hours.
  • A Reschedule that moves a visit away from a time within the next 24 hours.

What counts as a change through OnePath

Appointment notifications cover changes made through OnePath, on every channel:

  • Your AI assistant books, moves or cancels a visit.
  • A customer uses your online scheduler.
  • Someone works a task in OnePath and books, moves or cancels a visit from it.

Changes in your field service software

A change made directly in your field service software sends nothing from OnePath: no email, no text and no webhook. If your office cancels a visit there, tell the crew the way you do today.

A visit that was booked directly in your field service software can still be moved or cancelled through OnePath. That change sends the email and the text, with a View conversation button in the email. It does not send a webhook.

Webhooks

A web address on a row sends that event as a JSON POST to your own endpoint, for a CRM, dashboard or automation tool.

  1. Type the endpoint URL into the row and press Enter. Add more if several systems need it.
  2. Click Send test webhook. OnePath posts a sample payload to the web addresses in that row and reports the response, for example Test webhook delivered — endpoint responded with HTTP 200. Email addresses and phone numbers in the row are left alone.

For your developer

Every event, the retry rules and a way to verify delivery are under Webhook events. The appointment and call bodies are under Webhook payloads. Send them those links.

In short: every request is a POST with Content-Type: application/json and an X-OnePath-Event header:

RowX-OnePath-EventThe body carries
New bookingappointment.createdThe appointment, the service, the customer's contacts, the service address and the marketing attribution of the visit
Rescheduleappointment.rescheduledThe same, with the time it moved from
Cancellationappointment.cancelledThe same, with the reason
Emergency callcall.emergencyThe conversation, the customer's contacts, the caller's number, a summary and a link
Call back overduecall.callback_overdueThe same, with the task
Unbooked callcall.unbookedThe same as an emergency call

Payload example

{
  "event": "appointment.created",
  "occurred_at": "2026-07-18T12:00:00Z",
  "notification_id": 123,
  "test": false,
  "data": {
    "source": "onepath",
    "id": 1,
    "status": "scheduled",
    "time_window_begin": "2026-07-20T14:00:00Z",
    "time_window_end": "2026-07-20T16:00:00Z",
    "summary": "AC repair",
    "cancelled_reason": null,
    "moved_from": null,
    "service":  { "id": 1, "name": "HVAC / Repair", "service_type": "Repair", "serviceable_type": "HVAC" },
    "customer": { "id": 9, "full_name": "John Doe", "contacts": [{ "type": "phone", "value": "5125550100" }] },
    "location": { "street": "7425 Maple Ridge Dr", "unit": null, "city": "Austin", "state": "TX", "zip_code": "78727", "country": "US", "location_type": "residential" },
    "attribution": {
      "vendor": "google_ads", "external_id": "summer_2026",
      "utm_source": "google", "utm_medium": "cpc", "utm_campaign": "summer_2026", "utm_term": null, "utm_content": null,
      "campaign_url": "https://example.com/?utm_source=google",
      "lead_source": { "type": "url", "value": "https://example.com/?utm_source=google" }
    }
  }
}

What to expect:

  • attribution is null when the visit carried no campaign data, and location is null when the lead has no address yet.
  • Test sends have "test": true and sample data.
  • Delivery retries automatically, up to 5 attempts, on anything other than a 2xx response. Respond within 10 seconds; redirects are not followed.

Quick Tips

  • ✅ Put a phone number on the Cancellation row - a text reaches a dispatcher who is away from their inbox.
  • ✅ Split events across teams - each row has its own recipients.
  • ✅ Test webhooks before relying on them - Send test webhook works on every web address in the row.
  • ❌ Don't rely on these for changes made in your field service software - OnePath sends nothing for those.
Previous
Job Details Agent