Linking Scaleway as a source
This source is currently in alpha. The interface and available tables may change.
Sync your Scaleway organization data — billing invoices, IAM identities, projects, audit trail events, and compute instances — into PostHog to build cost, security, and infrastructure reporting alongside your product data.
Prerequisites
Before connecting Scaleway, you need:
- A Scaleway account with an Organization.
- An IAM API key (secret key) with read permissions for the data you want to sync.
- Your Organization ID.
Adding a data source
- In PostHog, go to the Sources tab of the data pipeline section.
- Click + New source and click Link next to this source.
- Enter your credentials (see Configuration below) and click Next.
- 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.
You will need the following:
- API secret key: create an API key from the IAM > API keys page in the Scaleway console. The secret key is shown only once at creation, so copy it then. Scaleway API secret keys do not expire by default.
- Organization ID: find it under Organization settings.
Grant the API key the read permission sets that match the tables you want to sync. You only need the ones for the data you actually want:
IAMReadOnly— users, applications, groups, policies, API keys, SSH keysProjectReadOnly— projectsBillingReadOnly— invoicesAuditTrailReadOnly— audit trail eventsInstancesReadOnly— instance servers
Granting only a subset is fine: the source connects as long as the key is valid, and the table picker flags any table your key cannot read so you can leave it unselected.
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_attimestamp). 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.
All Scaleway tables sync via full refresh. Resource inventories (IAM, projects, instances) are small, and invoices and audit events are re-pulled each sync. Audit trail events sync the most recent 90 days on each refresh.
Configuration
| Option | Type | Required |
|---|---|---|
API secret key | password | Yes |
Organization ID | text | Yes |
Supported tables
| Table | Description | Sync method | Incremental field | Primary key |
|---|---|---|---|---|
users | IAM users belonging to the organization. | Full refresh | — | id |
applications | IAM applications (non-human identities used for automation). | Full refresh | — | id |
groups | IAM groups that bundle users and applications for shared policy assignment. | Full refresh | — | id |
policies | IAM policies that grant permission sets to a principal (user, group or application). | Full refresh | — | id |
api_keys | IAM API keys used to authenticate against the Scaleway API. | Full refresh | — | access_key |
ssh_keys | SSH public keys registered in the organization. | Full refresh | — | id |
projects | Projects that group and isolate Scaleway resources within the organization. | Full refresh | — | id |
invoices | Billing invoices for the organization. | Full refresh | — | id |
instance_servers | Compute instances across all zones the organization operates in. | Full refresh | — | id |
audit_trail_events | Syncs the most recent 90 days of audit events on each full refresh | Full refresh | — | id |
Troubleshooting
"Your API key is missing the read permission set required to sync ...": the API key is valid but lacks the permission set for that table. Add the matching read permission (see the list above) to the key in the Scaleway console, then reconnect.
No rows for a table: some resources are region- or zone-scoped. Instance servers are pulled from every zone your organization can use, and audit trail events from the fr-par and nl-ams regions — a table can legitimately be empty if you have no resources there.
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.