Appointment Invites

Last updated: May 30, 2025

What are Appointment Invites?

Appointment Invites drastically simplify and standardize the third-party appointment booking process. Traditionally, third parties go to a portal and fill in all of the required information to schedule an appointment, which is costly and error-prone work. With Appointment Invites, carriers are sent a link that takes them to the booking portal with everything already filled out, locked so appointments are scheduled faster and with zero errors.

Appointment Invites is built to work with an integration.

How To Use Appointment Invites

In some cases, especially if you are leveraging a TMS or WMS integration for your carrier communications, you can provide a scheduling link that has pre-filled some/all of the information for the booking. If everything is provided, it is possible for the booker to proceed directly to the time selection.

The base URL for scheduling will still be the same as your existing booking link; https://getconduit.ai/scheduling/[YOUR_FACILITY_NAME] , which you can find in your Facility Settings. In order to pre-fill fields, you can provide query parameters on the URL; any unprovided fields will be requested from the user, and the user will still be able to change the values on the page.

Field Parameters

The available fields are:

Query Parameter

Value Type

Value (URL Encoded)

ref_id deprecated (see orders)

String

Reference ID, Order Number, etc. Multiple values can be provided, separated by commas

orders

Urlencoded JSON

Multiple PO, order numbers, or any number of custom references as an array. A primary ref_id (PO number, order number, etc) must always be supplied but any amount of additional references may be added in addition (additional references must be configured by Conduit):

[ { “ref_id”: “123”, }, { “ref_id”: “124”, “transport_ref_id”: “t124” } ]

Please note that the value above must be URI encoded before including it in the URL.

type

Inbound or Outbound

Inbound (for deliveries) or Outbound (for pick-ups)

carrier

String

The name of the carrier

carrier_email

String

The email address of the carrier

shipper

String

The name of the shipper (for deliveries)

shipper_email

String

The email address of the shipper (for deliveries). Multiple values can be provided, separated by commas

receiver

String

The name of the receiver (for pick-ups)

receiver_email

String

The email address of the receiver (for pick-ups). Multiple values can be provided, separated by commas

customer

String

The customer being operating on behalf of

customer_email

String

The email address customer being operating on behalf of. Multiple values can be provided, separated by commas

quantity

Number

The quantity of the order. Should be provided alongside units below.

units

String

The units of the order. This must be a valid value specified in your Facility Settings for the relevant type

carrier_notes

String

Freeform notes about the order/appointment

load_type_name

String

Load Type, as specified in your Load Types page. This value must match the name exactly. Multiple values can be provided, separated by commas

Control Parameters

In addition, there are additional parameters that can be provided to affect the booking experience.

Query Parameter

Value

Description

advance

1

If provided, booking forms that are pre-populated will be skipped, rather than requiring the booker to verify them.

lrid

1

If provided alongside a ref_id, the value will not be editable for the booker.

Security

For various reasons, you may want to secure your URL and prevent the user from tampering with the fields, especially if you are using control parameters that restrict the forms. To do this, you can include a field signature - if the signature does not match the remainder of the parameters, they will may be discarded - Contact Conduit to enable this strict requirement.

The signature should be generated via the following process…

  • Create the base query string with your parameters. Make sure to urlencode your values appropriately. Alphabetize the parameters within the query string by field/parameter name.

  • Obtain a shared secret key either by contacting Conduit, or by generating an API key in your Organization Settings.

  • Generate a hex HMAC signature for the query string payload using the shared secret with sha256.

  • Append the signature string to your query params

  • Build the URL with the resulting query params

Here is a python code sample for the above process

import hmac
import hashlib
import urllib.parse

# Obtain this value unique to your integration
SECRET = "03f625437c9c44b38fd337b2f8fdaedf";

# Specify the values you would like to pre-fill and control
raw_params = {
    "type": "Inbound",
    "ref_id": "ABCD1234",
    "quantity": 24,
    "units": "Pallets",
    "load_type_name": "FTL Palletized",
    "carrier": "Conduit Containers",
    "carrier_email": "conrad+conduit+containers@getconduit.ai",
    "shipper": "Conduit Components",
    "shipper_email": "conrad+conduit+components@getconduit.ai",
    "customer": "Conduit Creations",
    "shipper_email": "conrad+conduit+creations@getconduit.ai",
    "advance": 1,
    "lrid": 1,
}

# Sort the parameters
params = {k: v for k, v in sorted(raw_params.items(), key=lambda item: item[0])}
# Convert the parameters into a query string
payload = urllib.parse.urlencode(params)
# Generate the signature for the query string
signature = hmac.new(SECRET.encode(), payload.encode(), hashlib.sha256).hexdigest()

# Include the signature itself in the ultimate query string
signed_params = params | {"signature": signature}
query_string = urllib.parse.urlencode(signed_params)
url = "<https://getconduit.ai/scheduling/[YOUR_FACILITY_SLUG]?"> + query_string

Example

As an example - for a delivery order ABCD1234 from shipper Conduit Components for 24 Pallets in a FTL Palletized load delivered by Conduit Containers on behalf of Conduit Creations, the link could be

https://getconduit.ai/scheduling/[YOUR_FACILITY_SLUG]?advance=1&carrier=Conduit+Containers&carrier_email=conrad%2Bconduit%2Bcontainers%40getconduit.ai&customer=Conduit+Creations&load_type_name=FTL+Palletized&lrid=1&quantity=24&ref_id=ABCD1234&shipper=Conduit+Components&shipper_email=conrad%2Bconduit%2Bcreations%40getconduit.ai&type=Inbound&units=Pallets&signature=9d59e064f94adfc909cb06c009e7b2850e0241e93454bdbdd2934273f287befe