How to integrate JCC Appointments

The JCC Appointments integration in Spotler Chat+ allows you to create appointments directly within chatbot conversations. This feature connects your chatbot to the JCC appointment system, enabling users to select a location, activity, and time without leaving the chat interface.

This module was originally built for municipalities (booking appointments for services such as passports, driving licences, or other municipal requests), but it can be used on any channel where the JCC integration is available, including WhatsApp.

On this page the following topics are covered:

What is the JCC Appointments integration?

The JCC Appointments integration is a REST-based or SOAP-based connection between Spotler Chat+ and the JCC appointment system.

This integration enables chatbots to guide users through the process of booking an appointment by retrieving available options such as locations, activities, and time slots from JCC.

The appointment is created in the JCC system, ensuring all bookings are centrally managed.

What does the integration support?

Supported

  • Creating an appointment through the chatbot
  • Integration via REST or SOAP
  • Automatic generation of REST or SOAP calls after adding the base URL
  • Calendar selection for available time slots
  • Sending the confirmation through JCC

Not supported

  • Changing an appointment through the Spotler integration 
  • Cancelling an appointment through the Spotler integration 
  • Booking multiple people in one appointment flow 
  • Handling multiple appointment types in a single booking flow 
  • Automatic dialogue generation for REST integrations (only the calls are generated automatically

What do you need before you start?

To complete a working implementation, make sure you have at least the following:

  • JCC base URL
  • Access to the correct Spotler environment
  • The authorization details required to obtain tokens
  • Insight into which fields are mandatory on the municipal website for the selected appointment type

How do you set up the JCC integration?

The JCC integration is configured using REST-based (or SOAP based) appointment actions within Spotler Chat+.

The integration uses API endpoints to retrieve and send appointment data such as available locations, activities, and time slots.

Key setup components

  • REST-based or SOAP-based appointment configuration
  • Authentication and credentials stored in entities
  • API connection to JCC endpoints

Once configured, the chatbot can dynamically request and display appointment options during a conversation.

Base URL and automatic call generation

For both REST and SOAP, you add the base URL in Spotler under the appointment integrations. Once the base URL is entered, the required endpoints/calls are generated automatically, which reduces manual work in the call layer.

REST vs. SOAP 

Component REST SOAP
Endpoints / calls Generated automatically after entering the base URL Generated automatically after entering the base URL
Dialogues Built manually Generated automatically after entering the base URL
Current JCC preference Most commonly used in recent implementations Less common in recent implementations

In short: with REST, only the calls are generated automatically and the dialogues still need to be built manually. With SOAP, both the calls and the dialogues are generated automatically, but SOAP is less commonly offered by JCC today.

What dialogue types are available?

The JCC integration supports multiple dialogue steps that guide users through the appointment booking process. For a REST integration, these dialogues need to be built manually, following the flow below.

Location selection

The chatbot presents available appointment locations retrieved from JCC.

Activity selection

The chatbot allows users to choose the type of appointment or service they need, based on options retrieved from JCC.

The chatbot can display a list of appointment types directly in the conversation, so users can select the service they need without leaving the chat.

In this example, the chatbot shows available appointment types such as passport renewal, driver's license renewal, ID card renewal, and other configured services.

Chatbot dropdown with appointment types from JCC, including passport renewal, driver's license renewal, ID card renewal, and other services

Time selection

The chatbot displays available dates and time slots based on the selected location and activity.

Each step uses dynamic data from JCC and can be presented using picker components such as lists or dropdowns.

Structuring the dialogues

The implementation usually consists of one main dialogue with references to subdialogues for each step (activity, location, time, personal details, confirmation). This keeps the structure manageable and makes the flow easier to maintain.

It's recommended to use a chronological naming convention for the subdialogues (for example, numbering them in the order they occur in the flow). This makes it much easier to understand where each dialogue belongs in the overall flow, especially when handing the chatbot over to someone else or revisiting it later.

What does a typical appointment flow look like?

A typical appointment flow guides the user step-by-step through selecting and confirming an appointment.

  1. Start from a button or intent, such as Make an appointment
  2. Retrieve and show the available activity types
  3. The user selects an appointment type. 
  4. Retrieve and show the available locations
  5. The user selects a location. 
  6. Retrieve and show the available dates and time slots
  7. The user selects a preferred date and time. 
  8. Collect the user's personal details
  9. Show a review and confirmation step so the user can check their input. 
  10. Book the appointment through the confirmation call. 
  11. End with a success message and a follow-up option in the chatbot.

This guided flow ensures that users can complete the booking process within the chatbot without navigating to external pages. Appointments are automatically stored in the JCC system, reducing manual handling and improving efficiency.

Key technical considerations

1. Tokens and authorization

A valid token is required to retrieve and book appointment data. This is handled through a separate token call. Always test the token call first, before validating the rest of the flow, if the token call fails, none of the later steps will work either.A valid token is required to retrieve and book appointment data. This is handled through a separate token call. Always test the token call first, before validating the rest of the flow, if the token call fails, none of the later steps will work either.

2. Mandatory fields must match exactly

The fields collected in the chatbot must match what JCC requires for the selected appointment type. If even one required field is missing, the booking will fail.

Common examples include:

  • First name
  • Last name
  • Email address
  • Date of birth
  • Other municipality-specific required fields

Always review the municipality's website flow before finalizing the chatbot flow, the website is usually the best source for identifying which fields are mandatory for a given appointment type.

3. Stay consistent with the website

At minimum, all required fields must be included in the chatbot flow. In practice, municipalities often want the chatbot to align as closely as possible with the website's flow and wording, even for fields that are not technically required.

4. Information about required documents

Specific instructions per appointment type, such as which documents residents need to bring, are not typically included in the integration response from JCC. Because of this, it's best to either:

Refer users to the confirmation email, or
Include a general reminder in the chatbot flow, for example:

"Please read the confirmation email carefully to see which documents or supporting evidence you need to bring to your appointment."

Testing and go-live

Always test the integration in a safe environment first. Preferably, do not work directly in a live chatbot that is already active on the website.

  • Use a test or demo environment whenever possible
  • Check whether all automatically generated calls respond correctly
  • Test the token call separately
  • Run through the full flow with realistic test data
  • Verify that the confirmation email is actually sent by JCC

Versioning and rollback

Before making changes to an existing chatbot, make sure you have a recovery option. In Spotler Chat+, a new version is created every time you implement or deploy changes. Earlier versions can be found in the version history and restored if needed.

If there's any risk of disrupting a live chatbot, it's safer to build and test in a duplicate or separate environment first. This prevents unfinished changes from accidentally going live.

Recommended implementation approach

  1. Request the JCC base URL 
  2. Add the integration in Spotler Chat+.
  3. Confirm that the calls were generated automatically.
  4. Configure the token call and authorization.
  5. Build the dialogues manually (for REST integrations).
  6. Compare the mandatory fields against the municipal website.
  7. Test the full flow end-to-end in a non-live environment.
  8. Link the flow to the correct chatbot button or intent.
  9. Deploy and verify the new version in production.

The main success factor is accuracy: the chatbot flow must match the JCC-required data model exactly. Careful field validation and end-to-end testing are essential to a successful go-live.

Where can you use this integration?

The JCC Appointments integration can be used across:.

  • Live chat on your website
  • WhatsApp conversations

This ensures a consistent appointment booking experience across all communication channels.

FAQ

Do users need to leave the chatbot to book an appointment?

No, users can complete the entire appointment booking process within the chatbot interface.

Where are the appointments stored?

All appointments are created and stored in the JCC system.

Can I customize the appointment flow?

Yes, you can configure the chatbot dialogue to match your preferred flow and required steps.

Do users receive a confirmation of their appointment?

Yes, after completing the appointment in the chatbot, the user receives a confirmation email from JCC.

Can appointments be changed or cancelled through the chatbot?

No. This is not supported within the current Spotler Chat+ JCC integration.

Can multiple people be included in one appointment?

No. The current integration supports one appointment per flow.

Are dialogues generated automatically for REST integrations?

No. For REST, only the calls are generated automatically. The dialogues must be built manually. For SOAP, both calls and dialogues are generated automatically, but SOAP is less commonly used in recent JCC implementations.

What information about required documents does the integration provide?

None directly. JCC's response doesn't typically include per-appointment-type document requirements. It's best practice to point users to the confirmation email or add a general reminder in the chatbot flow.

What should I do before making changes to a live JCC chatbot flow?

Make sure you have a recoverable version (Spotler keeps a version history on every deploy), and preferably test your changes in a duplicate or non-live environment before deploying.