{#snippet content()}
{#if slackLoading} Loading… {:else if !slackTeamName} Connect Slack to the workspace, with AI agents enabled, to ask this agent from Slack, by its name or as a channel's default. {#if isAdmin}
{:else} A workspace admin can connect it. {/if} {:else} {#if !signingSecretSet} Windmill needs the Slack app's signing secret to tell who sent a message. {#if isAdmin} A workspace's own Slack app takes it in the workspace settings, the instance's app in the instance settings. {:else} A workspace or instance admin can set it. {/if} {/if} {#if !botName} Slack refused the workspace's bot token or couldn't be reached, so agents can't answer there. {#if isAdmin} Reconnect Slack to fix it. {:else} A workspace admin can reconnect Slack to fix it. {/if} {/if} {#if botName && missingScopes.length > 0} The connection lacks {missingScopes.join(', ')}, so agents can't check who is asking. {#if isAdmin} Disconnect Slack, then connect it again with AI agents enabled. {:else} A workspace admin can reconnect Slack with AI agents enabled. {/if} {/if}
Ask it in Slack {#if canShare} {/if}
{#if channels.length === 0} Not shared in any channel of {slackTeamName}. {:else}
@{botName ?? ''} {handle} your question {handle} matches the last part of the agent's path. Use the whole path, +{agentPath}, when two agents shared in a channel have that name. Replies in the thread that mention the bot go to the same agent, no name needed.
in {#each channels as channel (channel.channel_id)} #{channel.channel_name}{channel.is_default ? ' · default' : ''} {/each}
{#if anyone} Anyone in these channels can ask it, with {runsAs}'s permissions. {:else if runsAs} Workspace members can ask it, with {runsAs}'s permissions. {:else} Workspace members can ask it, with their own permissions. {/if} {/if}
{/if}
{/snippet}