Back to documentation

Adal quickstart guide

Set up your first webhook receiver and verify the complete delivery flow in a few focused steps.

View as Markdown
On this page

Create account

Create an Adal account before you configure webhook intake. Adal currently supports registration by email.

  1. Open Adal dashboard registration.

  2. Enter your email address and complete registration.

  3. Open the message from Adal and follow the verification link.

  4. Sign in to the dashboard.

Expected result: Your account is active and you can use the dashboard.

Create Server

A Server provides the stable public URL that receives your webhooks.

  1. Open the Servers dashboard.

  2. Select Create server.

  3. Choose the processing region and enter a name.

  4. Keep the remaining settings at their defaults for this quickstart, then save the Server.

After creation, copy the Public Ingest URL and save the CLI token.

Important: The CLI token is shown only once. Treat it as a secret: store it securely, do not commit it to source control, and do not include it in logs or support messages.

Expected result: The Server is created and you have its Public Ingest URL and CLI token.

Create Destination

A Destination defines where an accepted Request is delivered. One Request can be delivered independently to more than one Destination.

  1. Open the Destinations dashboard.

  2. Select Add destination.

  3. Choose the same region and the Server you created.

  4. Enter a name and the URL of the service that should receive the webhook.

  5. Save the Destination.

For a local CLI test, the URL can be similar to http://127.0.0.1:3000/webhooks. Your local application must be running and listening at the configured address. For direct delivery, use a URL that is reachable from the internet.

Expected result: The Destination is attached to your Server and is ready to receive Deliveries.

Run Adal CLI

Adal CLI maintains a secure outbound connection and forwards incoming Requests to a local or private service. Download a release or build it from source.

Start the CLI with the token you saved when creating the Server:

adal-cli --token <your-cli-token>

Useful options:

adal-cli --version adal-cli --verbose <level>

Verbosity levels are:

Level Output
0 Errors only; this is the default.
1 Basic connection and delivery information.
2 Detailed operational logs.
3 Debug-level logs.

For example:

adal-cli --token <your-cli-token> --verbose 1

Expected result: The CLI connects successfully and waits for incoming Deliveries.

Send a test webhook

Replace the placeholder below with the Public Ingest URL from the dashboard, then send a test request:

SERVER_URL='https://your-server-id.region.adal.cloud' curl --request POST "$SERVER_URL" \ --header 'Content-Type: application/json' \ --header 'X-Test-Source: quickstart' \ --data '{"message":"Hello from Adal"}'

Adal accepts the webhook as a Request, creates a Delivery for the configured Destination, and forwards it through the connected CLI or directly over HTTP, depending on your configuration. The original HTTP method, path, query string, headers, and body are preserved.

Expected result: The Request appears in Adal and a delivery attempt reaches the configured Destination. A successful Delivery means Adal received the expected HTTP response from the Destination; it does not prove that a downstream business operation completed.

Inspect the Request

Open the Requests dashboard, select the Request from the previous step, and open its details.

You can inspect:

  • the HTTP method, path, and query string;

  • request headers and body;

  • the received time and Request status;

  • each Destination Delivery and its attempt history.

You can also preview supported body formats or download the original body when that option is available.

Important: Retries and manual replay can cause the same event to reach your application more than once. Verify the sender's signature, validate all input, make webhook handlers idempotent, and deduplicate by a stable provider event ID when one is available.

Expected result: You can see what Adal received and trace the outcome of every Delivery attempt.

Next steps

You have completed the basic flow: a Server accepted a webhook, Adal recorded it as a Request, and a Destination received a Delivery.

Continue with these guides:

Related documentation