Version 0
Pocket Channel
Pocket channel driver that ingests recordings as meeting entities with transcript, summary and action items.
mortelos/channel-pocket is the Pocket channel driver for MortelOS: it turns conversation recordings from Pocket (heypocket.com) into meeting entities with transcript, summary and action items.
Use It For
| Area | Package responsibility |
|---|---|
| Pocket connection | Check a Pocket API key and store it encrypted on an inbound pocket channel per tenant. |
| Recording ingest | Poll the Pocket public API and fetch details only for completed recordings that are new or changed since the last run. |
| Meetings | Create or update one meeting entity per recording, keyed on pocket_recording_id. Fields Pocket does not supply, such as notes or an edited status, are kept on update. |
| Meeting schema | Create the meeting entity type when it is missing, or add the Pocket fields to an existing one. |
| Channel driver | Register an inbound-only pocket driver. Sending through Pocket is not supported. |
Install
composer require mortelos/channel-pocket
Packages resolve from the MortelOS registry. Configure registry access once before installing; see Installation.
Commands
php artisan channel:connect-pocket --tenant=example
php artisan channel:poll-pocket
channel:connect-pocket reads the API key from the host's services.pocket.api_key config value (for example from a POCKET_API_KEY environment variable), never from the command line. It checks the key against Pocket, creates the tenant's pocket channel if there is none (--name sets its name, default Pocket), stores the key encrypted and marks the channel connected.
channel:poll-pocket polls every tenant with a connected or degraded pocket channel, or only the tenant passed with --tenant (ID or slug). A failure for one tenant does not stop the others, but the command then exits with a failure code. The package does not schedule this command; add it to the host's scheduler.
Runtime surfaces
| Surface | Key |
|---|---|
| Channel driver | pocket |
| Entity type | meeting |
| Meeting fields added | pocket_recording_id, pocket_updated_at, transcript, action_items, calendar_event_id |
Outlets
This package declares no outlets yet; it has no screens or seams a host plugs into.
Boundaries
The package owns the Pocket driver, API client, connect and poll commands and the mapping from a Pocket recording to a meeting entity. Ingest is poll-based and read-only: the package registers no routes or webhooks and never writes to Pocket. The host app owns the Pocket API key, the polling schedule, recording consent, retention policy and what happens with meetings after ingest.