ZombieLicenseHunter connects to 1Password to surface inactive or zombie accounts by syncing user identity and activity data. Two integration methods are available depending on your deployment.
Prerequisites
- Events API (recommended): 1Password Business or Teams account with Events Reporting enabled.
- SCIM Bridge: 1Password Business account with a self-hosted 1Password SCIM Bridge deployed and reachable over HTTPS.
Setup Instructions
Option A: Events API (Recommended)
The Events API is the simpler path and does not require any self-hosted infrastructure.
- In your 1Password admin console, go to Integrations → Events Reporting and create a new access token. Copy the token value — it is shown only once.
- In ZombieLicenseHunter, go to Integrations → Add Integration and select 1Password. Leave Category as Application.
- Under Authentication Method, choose Events API.
- In 1Password Events API Host, enter the Events API base URL. This is
https://events.1password.comunless 1Password gave your account a regional endpoint. The field is required. - Paste the token into Access Token.
- Click Save Integration. ZombieLicenseHunter checks that the host is a valid URL and that a token was supplied, stores both encrypted, and queues the first sync. The token is first used by that sync, so a revoked or mistyped token shows up as a sync error on the integration page rather than at save time.
Option B: SCIM Bridge
Use this method if you require full user roster sync via the SCIM 2.0 standard or if you have deployed a self-hosted SCIM Bridge.
- Ensure your 1Password SCIM Bridge is deployed, running, and accessible over HTTPS. Private IP addresses are supported.
- In ZombieLicenseHunter, go to Integrations → Add Integration and select 1Password. Leave Category as Application.
- Under Authentication Method, choose SCIM.
- Enter the full URL to your SCIM Bridge in 1Password SCIM Bridge URL (e.g.
https://scim.internal.example.com). The URL must start withhttps://. - Enter the Bearer token configured on your SCIM Bridge in Access Token.
- Click Save Integration. Both fields are checked, stored encrypted, and the first sync is queued. The bridge is first contacted by that sync.
What Gets Synced
Events API
| Field | Source |
|---|---|
| Sign-in events | |
| Last login | Most recent sign-in event |
| Active status | Audit events (provisioned, suspended, reactivated, deleted) |
| User UUID | Sign-in and audit events |
Sign-in and audit event streams are merged: audit events govern whether a user is considered active; sign-in events drive the last-seen timestamp. Pagination is cursor-based with state tracked between syncs.
SCIM Bridge
| Field | Source |
|---|---|
Email (userName) |
SCIM /scim/Users |
| User ID | SCIM /scim/Users |
| Active status | SCIM active attribute |
Users with an empty userName or a status of invited are skipped. Pages are fetched 100 users at a time.
Troubleshooting
First sync fails with an authentication error The access token may have been revoked or copied incorrectly. Generate a new token in your 1Password admin console and update it on the integration's edit page.
Events API returns no users Confirm that Events Reporting is enabled on your account (requires Business or Teams plan) and that the token has the Events Reporting scope.
SCIM Bridge connection refused Verify the host URL is reachable from ZombieLicenseHunter's network, that HTTPS is used (HTTP is not accepted), and that the SCIM Bridge service is running. Private IP addresses are supported.
Users appear inactive despite recent logins The Events API merges sign-in and audit streams. If audit events show the account as suspended, the user will be marked inactive regardless of recent sign-in activity. Check the user's status in your 1Password admin console.