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.
147 lines
3.6 KiB
Markdown
147 lines
3.6 KiB
Markdown
# 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](../developer-guide/adding-integrations.md) in the developer guide.
|