Skip to content

Setup Flow

Channel setup connects messenger providers and saves the local defaults Murph needs for remote-team coverage. The host machine owns the runtime bundle: credentials, config, SQLite data, generated memory, integrations, policy, review, plugins, and the UI all stay with that runtime.

CLI setup

Run the full setup wizard:

bash
murph setup

The full wizard runs these sections:

text
core -> provider -> coverage -> bot app setup -> owner OAuth -> channels -> schedule -> policy -> status

Run channel-specific setup when only channel settings changed:

bash
murph setup slack
murph setup discord
murph setup channels

Murph setup uses the channel role and saves watched-channel defaults for remote-team coverage.

Slack setup is mostly automated through the Slack manifest and OAuth flow. Discord setup requires a few manual Developer Portal steps first: create the bot, copy the bot token and client secret, add the exact OAuth redirect URI, and enable Message Content intent. Use Discord for the step-by-step checklist.

Browser setup

Start Murph and open the local UI:

bash
murph start
murph open

Use the setup wizard to choose the messenger provider. Each provider step shows app value state, install state, owner identity state, direct provider shortcuts, and the exact callback or redirect URI for the current Murph host. The wizard authorizes your own account through OAuth and asks for watched channels. Owner identity is captured from the OAuth callback; Murph does not list workspace members or let you choose another user.

Role-specific HTTP install and event endpoints are available for hosted setups:

text
/api/slack/channel/install
/api/slack/channel/events
/api/discord/channel/install

The unqualified provider install URLs remain compatibility aliases for channel-bot setup. Setup links include a source marker so OAuth returns to the right surface: CLI setup uses source=cli and ends on a browser page that tells you to return to the terminal, while the browser setup wizard uses source=setup and returns to /setup.

Local storage

Secrets are stored in ~/.murph/.credentials. Non-secret app and workspace metadata is stored in ~/.murph/config.yaml.

Channel defaults include:

  • the selected channel provider
  • the connected Slack workspace or Discord server
  • the OAuth owner identity for that workspace/server
  • selected channels or all accessible channels

Channel installs use workspace_subscriptions and watched-channel defaults to decide which subscribed user can be routed from a shared-channel event.

If identity is missing, reconnect the messenger provider. murph setup identity remains a compatibility check, but it cannot manually set a different owner.

Setup check

Run a health check after channel setup:

bash
murph doctor

Self-hosted handoff agent for async coverage.