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.


  1. 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.


  2. 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.


  3. 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.


  4. 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.


  5. 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.


  6. 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;
}


  1. 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.


  2. 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.


  3. 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.


  4. 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.

Still need help? Contact Us Contact Us