This API-first harness sends real user messages to a Slack test channel, polls
OpenTag replies while they stream, and writes a JSON report under
e2e/results/.
It complements unit tests by exercising the deployed Slack path, including mentions, threads, streaming text, rich blocks, follow-up turns, and interruptions.
Set these only in your local root .env:
SLACK_BOT_TOKEN=xoxb-...
SLACK_USER_TOKEN=xoxp-...
BOT_USER_ID=U...
E2E_CHANNEL=C...SLACK_BOT_TOKENreads channel history and thread replies.SLACK_USER_TOKENposts as a real user so Slack emits the user event.BOT_USER_IDidentifies the OpenTag bot in replies.E2E_CHANNELis the test channel ID.
These are test-harness credentials, not Channel-runtime configuration; Intelligence still owns the deployed Slack attachment. The harness never provisions or reinstalls an app.
Obtain the user token through your approved Slack app-management flow and add
it to .env yourself. The repository intentionally contains no browser
automation that edits the manifest, reinstalls the app, or extracts tokens.
Start or deploy the OpenTag agent and Channel, then:
pnpm e2eRun a subset by case-name substring:
CASE_FILTER='A1' pnpm e2eCases live in cases.ts. The harness entrypoint is
run.ts, and Slack API helpers are in
slack-api.ts.
Microsoft Teams is supported for launch through Intelligence, but this folder does not yet contain a Teams live harness.