Sprintful for Developers
Sprintful has a few aspects that may be useful for developers. This page provides a run-down of frequency asked questions from developers.
REST APIs
Sprintful provides read-only APIs to read availability from booking pages, list booking events, and other simple tasks. Sprintful does not support write-operations. To view these APIs and get your API key, login to your dashboard and navigate to Dashboard > Settings > API.
Webhooks
Sprintful can trigger a webhook HTTP POST request upon new booking, reschedule, cancel, and reminders. Webhooks are standard integration with Sprintful, you can find it in (Dashboard > Integrations > New > Webhook). Once you create a webhook, it will be triggered on any of the events above for any of your booking pages. If you share it with your organization, then it will do the same for all organization members.
Embeds
Sprintful supports web embeds. To generate an embed, go to your Dashboard > Pages, click on "Settings" of a selected booking page, and choose "Embed. From there, you can optionally show/hide logo, show/hide header, etc.
Custom CSS
Users on paid plan (Professional and higher) have access to insert CSS to customize the look and feel of their booking pages. This is accessed by editing your booking page and navigating to the "Branding" view. If you are part of an organization, you can edit your organization settings and define HTML that will be applicable to all your and your colleague's booking pages. See here for more info.
Custom HTML
Similar to above, this is available on paid plans (Business Plan and higher). This enables inserting JavaScript, which opens doors to things like customizing favicon.
JavaScript Events
Sprintful triggers JavaScript window events on view-changes, which can be listened to from within the booking page (using Custom HTML), or if it was an embed, it can be listened to from the parent window.
Additionally, when using Custom HTML, you may define a
isFormValid
JavaScript function that is called when the visitor hits "Submit" on the booking form. If the function returns returns false, the submission will be cancelled.
/*** Listen to view events ***/ window.addEventListener("message",(e) => { if (e.data.event && e.data.event.indexOf("sprintful-") > -1 && e.data.payload.view == "booking") { console.log(e.data); } }); /*** Validate form ***/ function isFormValid(formData) { // some logic here, return true to continue, false to halt // object formData contains attributes such as 'visitorName', 'visitorEmail', etc console.log(formData); return false; }
Query Strings & Auto Filling
Sprintful supports query strings to auto-fill form inputs, or to add additional information to a booking. This can also be used for marketing attribution. This works in embeds and regular booking pages. See here for more info.
Smart Variables
In most (but not all) instances, you can use {{smartVariables}} which will be replaced with real values. This is especially useful when dealing with a team booking page, or when creating a template booking page that will be duplicated by your colleagues. See here for more info.
Custom SMS and Email Provider
Sprintful supports sending emails from your own domain name (@yourcompany.com) and from your own SMS sender-id (using Twilio and MessageBird). See here and here for more info.
Custom NodeJS
For advanced use cases, users on the Business Plan and Enterprise Plan may choose to create a "Custom Integration", which enables writing NodeJS code that is triggered on booking/cancellation/reminder events. This is meant for low-frequency use cases and monitored for legitimate use. Learn more here.