peregrine/docs/user-guide/integrations.md
pyr0ball 8cb636dabe docs: mkdocs wiki — installation, user guide, developer guide, reference
Adds a full MkDocs documentation site under docs/ with Material theme.

Getting Started: installation walkthrough, 7-step first-run wizard guide,
Docker Compose profile reference with GPU memory guidance and preflight.py
description.

User Guide: job discovery (search profiles, custom boards, enrichment),
job review (sorting, match scores, batch actions), apply workspace (cover
letter gen, PDF export, mark applied), interviews (kanban stages, company
research auto-trigger, survey assistant), email sync (IMAP, Gmail App
Password, classification labels, stage auto-updates), integrations (all 13
drivers with tier requirements), settings (every tab documented).

Developer Guide: contributing (dev env setup, code style, branch naming, PR
checklist), architecture (ASCII layer diagram, design decisions), adding
scrapers (full scrape() interface, registration, search profile config,
test patterns), adding integrations (IntegrationBase full interface, auto-
discovery, tier gating, test patterns), testing (patterns, fixtures, what
not to test).

Reference: tier system (full FEATURES table, can_use/tier_label API, dev
override, adding gates), LLM router (backend types, complete() signature,
fallback chains, vision routing, __auto__ resolution, adding backends),
config files (every file with field-level docs and gitignore status).

Also adds CONTRIBUTING.md at repo root pointing to the docs site.
2026-02-25 12:05:49 -08:00

3.6 KiB

Integrations

Peregrine supports 13 optional integration connectors for job tracking, document storage, calendar sync, and notifications. Configure them in Settings → Integrations or during the first-run wizard (Step 7).

All integration credentials are stored in config/integrations/<name>.yaml (gitignored — never committed).


Job Tracking

Notion

Tier: Paid

Syncs approved and applied jobs to a Notion database. Peregrine creates or updates a Notion page per job with status, salary, company, URL, and cover letter text.

Required credentials: Notion integration token and database ID.

Configure in config/integrations/notion.yaml.

Airtable

Tier: Paid

Syncs the job pipeline to an Airtable base. Each job maps to a row in your configured table.

Required credentials: Airtable personal access token, base ID, and table name.

Google Sheets

Tier: Paid

Appends job data to a Google Sheet. Useful for sharing pipeline data or building custom dashboards.

Required credentials: Google service account JSON key file, spreadsheet ID, and sheet name.


Document Storage

Google Drive

Tier: Free

Uploads generated cover letters and exported PDFs to a Google Drive folder automatically when you export from the Apply Workspace.

Required credentials: Google service account JSON key file and target folder ID.

Dropbox

Tier: Free

Uploads cover letters and PDFs to a Dropbox folder.

Required credentials: Dropbox access token and target folder path.

OneDrive

Tier: Free

Uploads cover letters and PDFs to a OneDrive folder via the Microsoft Graph API.

Required credentials: Microsoft OAuth client ID, client secret, tenant ID, and target folder path.

MEGA

Tier: Free

Uploads documents to MEGA cloud storage.

Required credentials: MEGA account email and password, target folder path.

Nextcloud

Tier: Free

Uploads documents to a self-hosted Nextcloud instance via WebDAV.

Required credentials: Nextcloud server URL, username, password, and target folder path.


Calendar

Google Calendar

Tier: Paid

Creates calendar events for scheduled interviews. When you set an interview_date on a job in the kanban, Peregrine creates a Google Calendar event with a reminder.

Required credentials: Google service account JSON key file and calendar ID.

Apple Calendar (CalDAV)

Tier: Paid

Creates calendar events on an Apple Calendar or any CalDAV-compatible server.

Required credentials: CalDAV server URL, username, and password. For iCloud, use an app-specific password.


Notifications

Slack

Tier: Paid

Sends notifications to a Slack channel for key pipeline events: new high-match jobs discovered, stage changes, and research completion.

Required credentials: Slack incoming webhook URL.

Discord

Tier: Free

Sends notifications to a Discord channel via a webhook. Same events as Slack.

Required credentials: Discord webhook URL.

Home Assistant

Tier: Free

Sends pipeline events to Home Assistant via the REST API. Useful for smart home dashboards or custom automation triggers.

Required credentials: Home Assistant base URL and long-lived access token.


Integration Status

The Settings → Integrations tab shows the connection status of each integration:

Status Meaning
Connected Credentials file exists and last test passed
Not configured No credentials file found
Error Credentials file exists but last test failed

Click Test to re-verify the connection at any time.


Adding a Custom Integration

See Adding an Integration in the developer guide.