How to be informed when a user creates an appointment?

I’m new to Keap and would like to integrate its appointment scheduling into our site. I see how to present an embedded calendar to allow the user to set up an appointment. What’s the mechanism for being informed when that particular user creates the appointment? I believe the answer has to do with RestHooks, but I can’t find the documentation for this particular scenario or any tutorials on it in general. Grateful for any pointers.

This question is actually a bit more complicated than it appears: yes, RestHooks are how you receive updates when records are changed, but if you’ll receive them or not depends if you’re using Keap Pro/Max or Keap Max Classic (previously referred to as Infusionsoft). Unfortunately at this time only appointments from the latter are provided via API as well as RestHook Subscriptions.

If you are using Keap Max Classic you’ll be able to call GET /hooks/event_keys to get the current list of available events to trigger on (and would probably want appointment.add from that list).

Then you can take that event name and supply it (along with your listener URL) via a POST /hooks to establish the connection.

https://developer.infusionsoft.com/docs/rest/#operation/create_a_hook_subscription

Thanks, Tom, this is helpful. I’m underway with it now. A couple of quick follow-ups:

  • Is the hookUrl used to verify the subscription the same URL that’ll be called to deliver the actual event payload? In other words, does it serve double duty? If so, should that endpoint always return in the response header the X-Hook-Secret it was passed in the request header?
  • The docs you linked says to go to RestHooks.org for more detail, but that site has been down the last two days. Any idea what’s up? Are other good sources?

Ah, never mind. It turns out we’re on Keap Pro, so this is a dead end. Any rough idea when Pro will support this?

Unfortunately I have no timeline on that work, it’s a significant project.

You can refer to this doc for understanding API of creating an appointment:

https://developer.infusionsoft.com/docs/rest/#operation/createAppointmentUsingPOST

Thanks. The issue is not creating an appointment, it’s being informed when a user makes an appointment.