applibapplib
← Work recap

Work recap: scopes & troubleshooting

Work recap gathers your Slack messages (and optionally Linear updates) into markdown for a time range you choose. You must be signed in to applib. Tokens used for each generate request are not logged; you can optionally save them encrypted on your account (same vault as Dev Inbox) so they reload when you return—see below.

Saving Slack & Linear tokens

In the app, use Save tokens now to store your Slack token, optional Linear API key, and Slack user id field in an AES-256-GCM encrypted row keyed to your user id (server secret CREDENTIALS_ENCRYPTION_SECRET, same as Dev Inbox credentials). Or enable after a successful generate to refresh that vault automatically. Clear saved removes them from the server; your browser fields clear too.

What it includes

  • Slack: search (with optional query override), automatic fallback to crawl when search is not allowed for your token, or crawl-only; optional channel filter; messages grouped by channel with timestamps and links when search provides them.
  • Linear: issues assigned to you with updates in the range; issue history lines list substantive changes (state, assignee, labels, priority, etc.), not only workflow moves.
  • Output: a reference weekly-email template, totals, and a suggested prompt for an AI pass; optional structure instructions (textarea in the app) tailor the header and that suggestion.

Saved recaps

When “Save recap to my account” is enabled (default), each run stores the Slack-only markdown, optional Linear-only markdown, and the full combined file as plain text in your applib account so you can download or revisit older exports. No API tokens are persisted—only generated markdown.

Slack token

Best option is a Slack user token (xoxp-…) for your own account. Add these OAuth scopes to your Slack app and reinstall the app to the workspace:

  • Required (search): search:read.public
  • Usually needed: search:read.im, search:read.mpim
  • Private channels: search:read.private
  • Optional: search:read.files

Bot token (xoxb-…)

Some workspaces return not_allowed_token_type for search.messages with a bot token. Prefer a user token, or set mode to crawl and provide your Slack user id (U…). Crawl mode typically needs: public channels channels:read, channels:history; private groups:read, groups:history (and the app in the channel); DMs im:read, im:history; group DMs mpim:read, mpim:history.

Linear

Optional: a Linear personal API key (lin_api_…). The recap lists issues assigned to you that were updated in the time window, with issue history in that window summarized as human-readable lines (including state changes plus assignee, labels, priority, and similar fields when present).

Troubleshooting

  • missing_scope / incomplete results: add the missing search:read.* scopes and reinstall the Slack app.
  • Search can cap results (often around 1k). Narrow the window, add a channel filter, or split by date in the override query.
  • from:me works best with a user token. With a bot token, set your Slack user id so the query can use from:<@U…>.
Open tool

Company

  • Home

Products

  • DevInbox
  • Cost Split
  • Work recap

Helpful

  • Support
  • Terms of Use
  • Privacy
  • Receipts
applib

© 2026 Noaa AB. All rights reserved.

PrivacyTerms of Use