Linking pretix as a source

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Contents

Alpha release

This source is currently in alpha. The interface and available tables may change.

The pretix connector syncs your event ticketing data – events, orders, invoices, customers, gift cards, products, vouchers, check-in lists, and more – into the PostHog data warehouse. Use it to combine ticket sales and attendee data with your product analytics.

Prerequisites

  • A pretix organizer account on pretix.eu or a self-hosted pretix installation reachable over HTTPS.
  • A team API token with read permissions for the resources you want to sync. For example, Can view orders for orders and invoices, Can view vouchers for vouchers.

Adding a data source

  1. In PostHog, go to the Sources tab of the data pipeline section.
  2. Click + New source and click Link next to this source.
  3. Enter your credentials (see Configuration below) and click Next.
  4. Select the tables you want to sync, choose a sync method and frequency, then click Import.

Once the syncs are complete, you can start querying this data in PostHog.

When linking pretix, you'll need:

  1. Organizer short name – the slug that appears in your pretix URLs (for example my-organizer in https://pretix.eu/my-organizer/).

  2. API token – go to your organizer's control panel, open Organizer settings → Teams, select or create a team with the read permissions you need, then create an API token for it.

  3. API URL (self-hosted only) – set this to your own pretix host (for example https://tickets.example.com). Leave it blank to use hosted pretix at https://pretix.eu.

Sync modes

Each table can be synced in one of several modes, depending on what the source supports:

  • Webhook (when available) – the source pushes changes to PostHog in real time. Fastest freshness, lowest ongoing cost, and the only mode that reliably captures updates and deletes.
  • Incremental – only new or updated rows are synced on each run, using a cursor field (such as an updated_at timestamp). Cheaper than a full refresh, but deletes aren't captured.
  • Append only – new rows are appended using a cursor field; existing rows are never updated. Ideal for immutable, append-only tables like event logs.
  • Full refresh – the whole table is reloaded on every sync. Use it when a table has no reliable cursor or when you need deletions reflected.

See sync methods for a full explanation of how each mode works and how to choose between them.

The orders table supports incremental sync using pretix's modified_since filter on the last_modified field, so re-syncs only fetch changed orders. All other tables are full refresh.

Configuration

OptionTypeRequired
Organizer short nametextYes
API tokenpasswordYes
API URL (self-hosted only)textNo

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
events

An event or event series run by the organizer, such as a conference or a concert.

Full refresh
orders

A ticket order placed in one of the organizer's events, including its positions (individual tickets), fees, payments, and refunds.

Incremental, Full refreshlast_modified
invoices

An invoice or invoice cancellation issued for an order in one of the organizer's events.

Full refresh
customers

A customer account registered with the organizer, which orders can be attached to.

Full refresh
gift_cards

A gift card issued by the organizer that can be used to pay for orders.

Full refresh
subevents

A date in an event series, carrying its own schedule, prices, and quotas.

Full refresh
items

A product that can be sold for an event, such as a ticket type or merchandise, including its variations.

Full refresh
categories

A product category used to group an event's items in the shop.

Full refresh
questions

A question asked of ticket buyers during checkout, such as dietary requirements or T-shirt size.

Full refresh
quotas

A quota limiting how many of an event's items can be sold.

Full refresh
vouchers

A voucher granting discounted or reserved access to an event's items.

Full refresh
checkin_lists

A check-in list used to admit attendees at the door, with its position and check-in counters.

Full refresh
waiting_list_entries

A waiting list entry from a customer waiting for an event's sold-out item to become available.

Full refresh
tax_rules

A tax rule defining how taxes are calculated for an event's products.

Full refresh

Event-scoped tables (such as items, quotas, and vouchers) include an event_slug column added during sync so rows from different events stay distinct.

Troubleshooting

  • "Your pretix API token does not have access to this organizer" – check that the organizer short name matches your pretix URLs exactly and that the token belongs to a team of that organizer.

  • Permission errors on specific tables – pretix team tokens carry per-resource permissions. Grant the team the matching read permission (for example Can view orders) or deselect the table.

  • API URL must use HTTPS – self-hosted pretix URLs must use https://. Update the API URL and try again.

If your sync is failing or data looks wrong, see the Data warehouse troubleshooting guide. If that doesn't help, contact support – we're happy to help.

Community questions

Was this page useful?