Slack
Connect Factory to Slack, use the default session flow, and distinguish personal DMs from shared channel delegations.
Connect Factory to Slack so Droid can work with Slack conversations and team context.
The existing Slack session flow remains the default for most organizations. After connecting the app, the session flow depends on your organization's configuration:
- Default Slack flow: start sessions from Slack threads using saved defaults or the computer picker. Existing channel configurations and explicit service-account choices still apply.
- Remote delegations flow: for organizations in the Private Preview, channel requests use the shared Apps configuration. Slack DMs use your personal identity and connectors, rather than the configuration's service account.
This page covers the Factory Slack app. A personal Slack connector gives Droid tools to use inside sessions; it does not install the app in your workspace.
If an existing Factory Slack install lacks permission to read images or upload files, rerun its authorization flow to enable those capabilities. A Slack admin may need to approve the updated permissions.
Prerequisites
To install or manage the Factory Slack app, you need:
- A Factory account with the Manager or Owner role
- Admin access to your Slack workspace
- Ability to install apps in your Slack workspace
- Access to Settings → Remote Delegations in Factory
If Remote Delegations is missing from Settings, contact your Factory account team to check access. The current app no longer offers Slack installation under Settings → Organization. An existing Slack installation can still use the default session flow.
Integration steps
- 1Access Slack integration settings
Open Settings → Remote Delegations. Under Delegation Apps, find Slack and select Set Up for Org, or Configure if it is already connected.
- 2Connect or reconnect Slack
On the Slack setup page, click Connect. For an existing installation, click Manage, then Reconnect to refresh its permissions.
- 3Authorize Factory's Slack app
You'll be redirected to Slack. Review the requested permissions and click "Allow" to authorize Factory access to your Slack workspace.
- 4Select the workspace
If you belong to multiple workspaces, select the workspace you want to connect to Factory.
- 5Confirm the integration
After authorization, you'll be redirected back to Factory. Verify that the integration status shows as "Connected".
- 6Add Factory to channels
In your Slack workspace, add the Factory app to relevant channels by typing
/invite @Factoryin each channel.
Default Slack flow
Without a shared remote delegation configuration in use, Factory starts sessions using your saved defaults or asks you to choose a computer. Existing legacy channel configurations and explicit Run as selections can choose a service account instead.
Verification
To ensure the integration is working correctly:
- 1Mention
@Factoryin a thread within a channel where the app has been added. - 2Verify that Factory responds with a link to open the conversation in Factory.
- 3Click the link and confirm that the Slack thread content appears in your new Factory session.
- 4If you reran the install flow for the latest permissions, test with a thread that includes an image attachment and confirm Droid can use it as context.
- 5If your workflow posts results back to Slack, confirm Droid can upload a generated file or short result video to the thread.
Capabilities
With the Slack integration, you can:
- Mention
@Factoryin any Slack thread to start a Droid session from that thread - Continue the session on Web or Desktop
- Import full Slack thread context into Factory by clicking the provided link
- Include supported image attachments from Slack as session context
- Have Droid post messages, generated files, artifacts, and result videos back to Slack
- Send follow-up messages and attachments from Slack into an active Droid session
- Choose from the available models, including Claude, GPT, Gemini, and Droid Core
- Pick the model when you start a session, set a default model per channel for Auto-Run and service-account workflows, or let Factory Router pick the best model automatically
- Reference Slack threads in Factory by pasting a thread URL into a Factory chat
When creating a PR, the Slack integration will also use a subagent to handle CI so the agent can respond faster.
When a Slack thread is imported, Factory has access to the entire conversation history and uses it as context.
Slack settings
Existing legacy channel configurations can continue to select Run as, Incident Response, Machine Type, Computer or Workspace, Session Visibility, Model, and Custom Prompt. Standard @Factory mentions do not require a channel configuration.
The current Slack setup page manages the app connection, not the legacy channel settings table. For new channel-triggered workflows, use Incident Response or Automations.
Service accounts
Use service accounts when Slack sessions should run from a shared identity and a preconfigured Droid Computer instead of the Slack user who mentions Factory. This is useful for incident, operations, or release channels that need consistent credentials and tool access.
Before using a service account with Slack, make sure:
- Service accounts are enabled for your organization.
- The service account is active.
- The service account owns at least one Droid Computer.
- The Factory app has been invited to the Slack channel.
An existing channel Run as configuration uses the selected service account's identity and computers. Its Auto-Run settings can also specify a prompt, model, and visibility for automated channel workflows.
For ad hoc Slack sessions, the computer picker can also show a Run as selector. Choose a service account, pick one of its computers, and optionally save it as your default for future Slack mentions.
Remote delegations flow
Remote delegations are in Private Preview. To request access, contact your Factory account team. Existing Slack installations can continue using the default session flow without the shared configuration.
In this flow, the organization's Apps configuration supplies the execution settings. Channel delegations use its service-account identity and compute. DMs run as the person messaging Factory, using their personal credentials and connectors.
Preview prerequisites
For shared channel delegations, you need:
- Remote Delegations Private Preview access for your Factory organization.
- Service-account access and an active service account with the Git credentials and connectors needed for the work.
- A configured execution template for Dynamic compute, or computers owned by that service account for Persistent compute.
Each team member who delegates work must have a Factory account in the connected organization. Their Slack account email must match their Factory account email.
Connect Slack and configure delegated sessions
Use the integration steps above to connect Slack. Then configure shared execution:
- 1Review the Apps configuration
In Settings → Remote Delegations, under Remote Delegation Configs, select Edit on Apps. Review the default model and reasoning level, custom instructions, plugins, service-account identity, and compute.
Eligible organizations receive a default configuration, service account, and execution template. Review those defaults before use, or complete the configuration wizard if setup could not finish. Follow Configure delegated sessions for the full setup.
This configuration is shared across delegation apps, not scoped to one Slack channel. Its service account supplies the identity and connectors for shared channel delegations, not personal DMs.
- 2Invite Factory to channels
In each Slack channel where your team will delegate work, run
/invite @Factory.
Delegate and follow up
Mention @Factory in a channel where the app has been invited, or send the app a direct message. Include the repository, desired outcome, and how Droid should verify the result:
@Factory Investigate the failing checkout test in the storefront repository. Fix the cause, run the relevant tests, and open a pull request with a summary of the change.
Droid runs the work with the identity appropriate to the conversation. Review its response and any linked session or pull request. Continue with follow-up instructions in the same Slack conversation, and check the test results and proposed changes before merging.
Personal DMs and shared channels
For sessions started through the Apps configuration, the Slack conversation determines whose access Droid uses:
| Where you send the request | Session identity | Credentials and connectors |
|---|---|---|
| A direct message to Factory | Your personal Factory identity | Your personal Git credentials and connected apps |
An @Factory mention in a channel | The Apps configuration's service account | That service account's Git credentials and connected apps |
Connect the tools you want to use in DMs under your own Factory account. For shared channel work, configure them on the service account. Mentioning Factory in a channel does not pass your personal connectors to the shared session.
A DM can still use the Apps configuration's execution template, instructions, and model defaults. When a template is available, Factory provisions a computer owned by you instead of using the service account's computer pool. If the configuration has no template, the DM falls back to the default Slack flow's saved settings or computer picker, including any explicit Run as choice.
Personal model defaults
Open Settings → Session Defaults → Delegations to set Default delegation model and Default delegation reasoning level. Choose Org default to use the Apps configuration's model and reasoning settings.
A personal model selection can apply to both your DMs and channel requests, overriding the configuration's model when organization policy allows it. Its reasoning preference applies to that selected model.
Model defaults do not choose the session identity or connectors: config-backed DMs use your personal identity and connectors; shared channel delegations use the service account's. Choosing a personal model does not make a channel session run as you.
Best practices
- Add the Factory app only to channels where development discussions occur.
- Use threads rather than channel messages when mentioning Factory.
- Provide sufficient context in the Slack thread before mentioning Factory.
- Regularly review the permissions granted to the Factory app in your Slack settings.
Troubleshooting
Visit Factory's Trust Center for compliance documents, certifications, and security resources
Review Factory's Privacy Policy and Terms of Service.
Related resources
Configure shared instructions, plugins, identity, and compute for the preview flow.
Set up an automation to investigate alerts from Slack.
Route Slack requests into tracked engineering work.
Set up service accounts for shared Slack channel runs.