> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fastbill Webhook Setup Guide

> Configure Fastbill to deliver events to StackOne.

## Prerequisites

Before continuing, you should have already completed the following for this connector:

<Steps>
  <Step title="Configure the Connector">
    Enable the connector and set up its connector profile in your project. See <a href="/connect/managing-connectors/overview">Managing Connectors</a>.

    <Columns cols={2}>
      <Card title="Connector Profile" href="/connectors/fastbill/guides/connector-profile/api-key" icon="https://stackone-logos.com/api/fastbill/filled/png" horizontal>
        Fastbill - API Key
      </Card>
    </Columns>
  </Step>

  <Step title="Link an Account">
    Connect an account using <a href="/embed/account-linking/overview">StackOne Hub</a> or <a href="/embed/account-linking/auth-link">Auth Link</a>.

    <Columns cols={2}>
      <Card title="Link Account" href="/connectors/fastbill/guides/link-account/api-key" icon="https://stackone-logos.com/api/fastbill/filled/png" horizontal>
        Fastbill - API Key
      </Card>
    </Columns>
  </Step>
</Steps>

<section data-guide-section data-guide-scopes="">
  <h2>How Fastbill webhooks are set up</h2>

  <p>On connection, StackOne calls Fastbill's API with `SERVICE: webhook.create` using your email and API key to register one webhook (`TYPE: url`) for this connection, pointing at a delivery URL that carries a secret token. Fastbill then sends one HTTPS POST per event to that URL, StackOne routes it to your integration, and only the events you enable are dispatched. Disconnecting the account deletes the webhook (`SERVICE: webhook.delete`).</p>

  <ul>
    <li>No callback URL to copy, and no verification step to complete.</li>
    <li>Only the events you enable in StackOne are subscribed in Fastbill and delivered.</li>
  </ul>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>Only the events you enable in StackOne are subscribed in Fastbill and delivered; each notification carries the specific event name in its `type` field.</p>

  <Steps>
    <Step title="Review customer events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for customers in your Fastbill account.</p>

        <ul>
          <li><strong>Customer Created</strong> (`customer.created`) — Fired when a customer is created.</li>
          <li><strong>Customer Updated</strong> (`customer.updated`) — Fired when a customer is updated.</li>
          <li><strong>Customer Deleted</strong> (`customer.deleted`) — Fired when a customer is deleted.</li>
        </ul>
      </div>
    </Step>

    <Step title="Review contact events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for customer contacts.</p>

        <ul>
          <li><strong>Contact Created</strong> (`contact.created`) — Fired when a contact is created.</li>
          <li><strong>Contact Updated</strong> (`contact.updated`) — Fired when a contact is updated.</li>
          <li><strong>Contact Deleted</strong> (`contact.deleted`) — Fired when a contact is deleted.</li>
        </ul>
      </div>
    </Step>

    <Step title="Review invoice events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired through an invoice's lifecycle.</p>

        <ul>
          <li><strong>Invoice Created</strong> (`invoice.created`) — Fired when an invoice is created.</li>
          <li><strong>Invoice Completed</strong> (`invoice.completed`) — Fired when an invoice is completed (finalized).</li>
          <li><strong>Invoice Canceled</strong> (`invoice.canceled`) — Fired when an invoice is canceled.</li>
        </ul>
      </div>
    </Step>

    <Step title="Review estimate events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Fired for estimates (quotes).</p>

        <ul>
          <li><strong>Estimate Created</strong> (`estimate.created`) — Fired when an estimate is created.</li>
          <li><strong>Estimate Updated</strong> (`estimate.updated`) — Fired when an estimate is updated.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Inspect the delivery format</h2>

  <p>Fastbill sends each notification as a single HTTPS POST with a JSON body (not batched). Top-level fields are `id` (a notification id), `type` (the event name, e.g. `invoice.created`), `created` (the notification timestamp) and the affected entity nested under its resource key (`customer`, `contact`, `invoice`, or `estimate`). StackOne maps `type` to the event type, the entity's id (e.g. `invoice.invoice_id`) to the record id and `created` to the event timestamp, and passes the full body through as the event data.</p>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.
