Files
PaperClipAI/maps/feature-map/chat-channels.md
T
DottaandPaperclip f329b24ee1 feat: give tasks durable project-optional workspaces (#15749)
Give tasks durable company-scoped workspace bindings independent of project assignment, channel defaults and authorized repository preparation. Reuse verified input seeds and sparse output recovery while preserving trust, privacy and controller provisioning boundaries.

Full CI and E2E, Superagent, legacy checks and Greptile Apex 5/5 passed on reviewed head 753680b61c. All review findings are resolved; the PR records focused verification and historical acceptance limits.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-12 20:45:18 -05:00

3.6 KiB
Raw Blame History

External chat and email conversations

People can talk to an assigned agent through configured external channels, bind their identity, exchange files, and inspect delivery state. Each provider has a different identity, threading, and attachment contract.

Implementation: endpoint setup, endpoint detail, email setup.

Agent access: companion.

Sub-features

  • providers: configure the available Slack, Discord, Microsoft Teams, Telegram, GitHub, AgentMail, and experimental iMessage Photon paths; availability still depends on gates and provider support.
  • identity: link the external sender to the intended authorized Paperclip identity.
  • conversation: route inbound messages to the selected agent and send replies to the correct thread.
  • attachments: transfer supported files with inspectable delivery and failure states.
  • lifecycle: inspect endpoint activity, repair auth, and disable delivery when required.

How to get to it (user POV)

external-thread

Message the configured bot/address from its external provider and follow the corresponding Paperclip conversation/task.

endpoint-management

Open /apps/chat/:endpointId/settings and the endpoint’s other available tabs; identity confirmation uses /chat-identity/confirm.

Driving it with Playwright and provider clients

Preconditions: follow the baseline. Use a test provider account/channel with permission to send messages. Gates differ: AgentMail bypasses the chat-connectors UI gate, GitHub uses enableGitHubReviewBots, and other chat providers use enableChatConnectors. Setup is covered in connection setup.

external-thread

Automated: channel integration uses provider fixtures; it does not prove a live Slack, Discord, Teams, Telegram, GitHub, email, or Photon delivery.

Manual: For each supported provider being changed, send a unique message, verify the intended agent/company receives it, and inspect the actual external reply in the original thread. Repeat with an unlinked/unauthorized sender, duplicate inbound delivery, and one supported attachment. Record provider-specific results separately.

endpoint-management

Automated: channel integration covers shared endpoint/delivery behavior; live credential repair and provider ownership remain manual checks.

Manual: Inspect the bound agent and identity, recent activity, and delivery failure details. Repair a disposable credential, retry a safe message when offered, and verify exactly one external reply. Disable the endpoint and confirm new traffic is not silently processed.

Configure optional project and workspace defaults at the connection and destination levels. Start a new conversation and inspect its task workspace. Verify that inheritance, an explicit selection, and clearing a default remain distinct. Changing defaults must not move an existing conversation or interrupt its run.

Gotchas

  • Visibility flags do not pause existing delivery. Disable the disposable endpoint itself to test stopped traffic.

  • One provider’s passing fixture does not qualify another provider or live delivery.

  • An accepted send request does not prove the recipient received the message or file.

  • Use steering and questions for their channel-specific interaction checks.