Productieklaar voor DM’s en kanalen via Slack-appintegraties. De standaardmodus is Socket Mode; HTTP Request URLs worden ook ondersteund.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Pairing
Slack-DM’s gebruiken standaard de koppelingsmodus.
Slash commands
Native opdrachtgedrag en opdrachtcatalogus.
Channel troubleshooting
Cross-channel diagnostiek en herstelplaybooks.
Snelle configuratie
- Socket Mode (default)
- HTTP Request URLs
Create a new Slack app
Druk in de Slack-appinstellingen op de knop Create New App:
- kies from a manifest en selecteer een werkruimte voor je app
- plak het voorbeeldmanifest hieronder en ga door om het te maken
- genereer een App-Level Token (
xapp-...) metconnections:write - installeer de app en kopieer het getoonde Bot Token (
xoxb-...)
Transportafstemming voor Socket Mode
OpenClaw stelt de pong-time-out van de Slack SDK-client standaard in op 15 seconden voor Socket Mode. Overschrijf de transportinstellingen alleen wanneer je werkruimte- of hostspecifieke afstemming nodig hebt:clientPingTimeout is de wachttijd voor pong nadat de SDK een client-ping verzendt; serverPingTimeout is de wachttijd voor Slack-serverpings. App-berichten en gebeurtenissen blijven applicatiestatus, geen signalen voor transport-liveness.
Manifest- en scopechecklist
Het basismanifest van de Slack-app is hetzelfde voor Socket Mode en HTTP Request URLs. Alleen het bloksettings (en de url van de slash command) verschilt.
Basismanifest (standaard Socket Mode):
settings door de HTTP-variant en voeg url toe aan elke slash command. Publieke URL vereist:
Aanvullende manifestinstellingen
Laat verschillende functies zien die de bovenstaande standaardwaarden uitbreiden.Optional native slash commands
Optional native slash commands
Meerdere native slash commands kunnen worden gebruikt in plaats van één geconfigureerde opdracht met nuance:
- Gebruik
/agentstatusin plaats van/status, omdat de opdracht/statusgereserveerd is. - Er kunnen niet meer dan 25 slash commands tegelijk beschikbaar worden gemaakt.
features.slash_commands door een subset van beschikbare opdrachten:- Socket Mode (default)
- HTTP Request URLs
Optional authorship scopes (write operations)
Optional authorship scopes (write operations)
Optional user-token scopes (read operations)
Optional user-token scopes (read operations)
Als je
channels.slack.userToken configureert, zijn typische leesscopes:channels:history,groups:history,im:history,mpim:historychannels:read,groups:read,im:read,mpim:readusers:readreactions:readpins:reademoji:readsearch:read(als je afhankelijk bent van Slack-zoekleesacties)
Tokenmodel
botToken+appTokenzijn vereist voor Socket Mode.- HTTP-modus vereist
botToken+signingSecret. botToken,appToken,signingSecretenuserTokenaccepteren platte tekststrings of SecretRef-objecten.- Configuratietokens overschrijven env-fallback.
SLACK_BOT_TOKEN/SLACK_APP_TOKENenv-fallback geldt alleen voor het standaardaccount.userToken(xoxp-...) is alleen via configuratie beschikbaar (geen env-fallback) en gebruikt standaard alleen-lezen-gedrag (userTokenReadOnly: true).
- Slack-accountinspectie houdt per referentie
*Source- en*Status-velden bij (botToken,appToken,signingSecret,userToken). - Status is
available,configured_unavailableofmissing. configured_unavailablebetekent dat het account is geconfigureerd via SecretRef of een andere niet-inline geheime bron, maar dat het huidige commando/runtime-pad de werkelijke waarde niet kon oplossen.- In HTTP-modus wordt
signingSecretStatusopgenomen; in Socket Mode is het vereiste paarbotTokenStatus+appTokenStatus.
Acties en gates
Slack-acties worden beheerd doorchannels.slack.actions.*.
Beschikbare actiegroepen in de huidige Slack-tooling:
| Groep | Standaard |
|---|---|
| messages | enabled |
| reactions | enabled |
| pins | enabled |
| memberInfo | enabled |
| emojiList | enabled |
send, upload-file, download-file, read, edit, delete, pin, unpin, list-pins, member-info en emoji-list. download-file accepteert Slack-bestands-ID’s die worden getoond in placeholders voor inkomende bestanden en retourneert afbeeldingsvoorvertoningen voor afbeeldingen of lokale bestandsmetadata voor andere bestandstypen.
Toegangscontrole en routering
- DM-beleid
- Kanaalbeleid
- Vermeldingen en kanaalgebruikers
channels.slack.dmPolicy beheert DM-toegang. channels.slack.allowFrom is de canonieke DM-allowlist.pairing(standaard)allowlistopen(vereist datchannels.slack.allowFrom"*"bevat)disabled
dm.enabled(standaard true)channels.slack.allowFromdm.allowFrom(verouderd)dm.groupEnabled(groep-DM’s standaard false)dm.groupChannels(optionele MPIM-allowlist)
channels.slack.accounts.default.allowFromgeldt alleen voor hetdefault-account.- Benoemde accounts erven
channels.slack.allowFromwanneer hun eigenallowFromniet is ingesteld. - Benoemde accounts erven
channels.slack.accounts.default.allowFromniet.
channels.slack.dm.policy en channels.slack.dm.allowFrom worden nog steeds gelezen voor compatibiliteit. openclaw doctor --fix migreert ze naar dmPolicy en allowFrom wanneer dat kan zonder de toegang te wijzigen.Koppeling in DM’s gebruikt openclaw pairing approve slack <code>.Threads, sessies en antwoordtags
- DM’s routeren als
direct; kanalen alschannel; MPIM’s alsgroup. - Met standaard
session.dmScope=mainworden Slack-DM’s samengevoegd tot de hoofdsessie van de agent. - Kanaalsessies:
agent:<agentId>:slack:channel:<channelId>. - Threadantwoorden kunnen threadsessie-achtervoegsels (
:thread:<threadTs>) maken wanneer van toepassing. channels.slack.thread.historyScopeis standaardthread;thread.inheritParentis standaardfalse.channels.slack.thread.initialHistoryLimitbepaalt hoeveel bestaande threadberichten worden opgehaald wanneer een nieuwe threadsessie start (standaard20; stel0in om uit te schakelen).channels.slack.thread.requireExplicitMention(standaardfalse): wanneertrue, worden impliciete threadvermeldingen onderdrukt, zodat de bot alleen reageert op expliciete@bot-vermeldingen binnen threads, zelfs wanneer de bot al aan de thread heeft deelgenomen. Zonder dit omzeilen antwoorden in een thread waaraan de bot heeft deelgenomen derequireMention-gate.
channels.slack.replyToMode:off|first|all|batched(standaardoff)channels.slack.replyToModeByChatType: perdirect|group|channel- verouderde fallback voor directe chats:
channels.slack.dm.replyToMode
[[reply_to_current]][[reply_to:<id>]]
replyToMode="off" schakelt alle antwoordthreads in Slack uit, inclusief expliciete [[reply_to_*]]-tags. Dit verschilt van Telegram, waar expliciete tags in "off"-modus nog steeds worden gerespecteerd. Slack-threads verbergen berichten uit het kanaal, terwijl Telegram-antwoorden inline zichtbaar blijven.Ack-reacties
ackReaction verzendt een bevestigingsemoji terwijl OpenClaw een inkomend bericht verwerkt.
Resolutievolgorde:
channels.slack.accounts.<accountId>.ackReactionchannels.slack.ackReactionmessages.ackReaction- fallback naar agent-identiteitsemoji (
agents.list[].identity.emoji, anders ”👀”)
- Slack verwacht shortcodes (bijvoorbeeld
"eyes"). - Gebruik
""om de reactie voor het Slack-account of globaal uit te schakelen.
Tekststreaming
channels.slack.streaming beheert livevoorbeeldgedrag:
off: livevoorbeeldstreaming uitschakelen.partial(standaard): voorbeeldtekst vervangen door de nieuwste gedeeltelijke uitvoer.block: voorbeeldupdates in chunks toevoegen.progress: voortgangsstatustekst tonen tijdens het genereren en daarna de definitieve tekst verzenden.streaming.preview.toolProgress: wanneer conceptvoorbeeld actief is, worden tool-/voortgangsupdates naar hetzelfde bewerkte voorbeeldbericht gerouteerd (standaard:true). Stel in opfalseom afzonderlijke tool-/voortgangsberichten te behouden.
channels.slack.streaming.nativeTransport beheert native tekststreaming van Slack wanneer channels.slack.streaming.mode partial is (standaard: true).
- Er moet een antwoordthread beschikbaar zijn om native tekststreaming en Slack-assistent-threadstatus te tonen. Threadselectie volgt nog steeds
replyToMode. - Kanaal- en groepschatroots kunnen nog steeds het normale conceptvoorbeeld gebruiken wanneer native streaming niet beschikbaar is.
- Top-level Slack-DM’s blijven standaard buiten threads, dus ze tonen geen threadachtige voorbeeldweergave; gebruik threadantwoorden of
typingReactionals u daar zichtbare voortgang wilt. - Media en niet-tekstuele payloads vallen terug op normale aflevering.
- Definitieve media-/foutberichten annuleren lopende voorbeeldbewerkingen; geschikte definitieve tekst-/blokberichten flushen alleen wanneer ze het voorbeeld ter plekke kunnen bewerken.
- Als streaming halverwege een antwoord mislukt, valt OpenClaw terug op normale aflevering voor resterende payloads.
channels.slack.streamMode(replace | status_final | append) wordt automatisch gemigreerd naarchannels.slack.streaming.mode.- boolean
channels.slack.streamingwordt automatisch gemigreerd naarchannels.slack.streaming.modeenchannels.slack.streaming.nativeTransport. - verouderde
channels.slack.nativeStreamingwordt automatisch gemigreerd naarchannels.slack.streaming.nativeTransport.
Typreactie-fallback
typingReaction voegt een tijdelijke reactie toe aan het inkomende Slack-bericht terwijl OpenClaw een antwoord verwerkt, en verwijdert die wanneer de run is voltooid. Dit is vooral nuttig buiten threadantwoorden, die een standaardstatusindicator “is aan het typen…” gebruiken.
Resolutievolgorde:
channels.slack.accounts.<accountId>.typingReactionchannels.slack.typingReaction
- Slack verwacht shortcodes (bijvoorbeeld
"hourglass_flowing_sand"). - De reactie is best-effort en opschoning wordt automatisch geprobeerd nadat het antwoord- of foutpad is voltooid.
Media, chunking en aflevering
Inkomende bijlagen
Inkomende bijlagen
Slack-bestandsbijlagen worden gedownload vanaf door Slack gehoste privé-URL’s (tokengeauthenticeerde aanvraagstroom) en naar de mediaopslag geschreven wanneer ophalen slaagt en groottelimieten dit toestaan. Bestandplaceholders bevatten de Slack-
fileId, zodat agents het oorspronkelijke bestand kunnen ophalen met download-file.Downloads gebruiken begrensde idle- en totale time-outs. Als het ophalen van Slack-bestanden vastloopt of mislukt, blijft OpenClaw het bericht verwerken en valt het terug op de bestandplaceholder.De runtime-limiet voor inkomende grootte is standaard 20MB, tenzij overschreven door channels.slack.mediaMaxMb.Uitgaande tekst en bestanden
Uitgaande tekst en bestanden
- tekstchunks gebruiken
channels.slack.textChunkLimit(standaard 4000) channels.slack.chunkMode="newline"schakelt splitsen met alinea’s eerst in- bestandsverzendingen gebruiken Slack-upload-API’s en kunnen threadantwoorden bevatten (
thread_ts) - limiet voor uitgaande media volgt
channels.slack.mediaMaxMbwanneer geconfigureerd; anders gebruiken kanaalverzendingen MIME-soortstandaarden uit de mediapijplijn
Afleverdoelen
Afleverdoelen
Expliciete voorkeursdoelen:
user:<id>voor DM’schannel:<id>voor kanalen
Commando’s en slash-gedrag
Slash-commando’s verschijnen in Slack als één geconfigureerd commando of meerdere native commando’s. Configureerchannels.slack.slashCommand om commandostandaarden te wijzigen:
enabled: falsename: "openclaw"sessionPrefix: "slack:slash"ephemeral: true
channels.slack.commands.native: true of commands.native: true in globale configuraties.
- De automatische modus voor native commando’s staat voor Slack uit, dus
commands.native: "auto"schakelt native Slack-commando’s niet in.
- tot 5 opties: knopblokken
- 6-100 opties: statisch selectiemenu
- meer dan 100 opties: externe selectie met asynchrone optiefiltering wanneer handlers voor interactiviteitsopties beschikbaar zijn
- Slack-limieten overschreden: gecodeerde optiewaarden vallen terug op knoppen
agent:<agentId>:slack:slash:<userId> en routeren commando-uitvoeringen nog steeds naar de doelgesprekssessie met CommandTargetSessionKey.
Interactieve antwoorden
Slack kan interactieve antwoordbedieningselementen weergeven die door agents zijn opgesteld, maar deze functie is standaard uitgeschakeld. Schakel dit globaal in:[[slack_buttons: Approve:approve, Reject:reject]][[slack_select: Choose a target | Canary:canary, Production:production]]
- Dit is Slack-specifieke UI. Andere kanalen vertalen Slack Block Kit-directieven niet naar hun eigen knopensystemen.
- De interactieve callbackwaarden zijn door OpenClaw gegenereerde ondoorzichtige tokens, geen ruwe waarden die door agents zijn opgesteld.
- Als gegenereerde interactieve blokken Slack Block Kit-limieten zouden overschrijden, valt OpenClaw terug op het oorspronkelijke tekstantwoord in plaats van een ongeldige blocks-payload te verzenden.
Exec-goedkeuringen in Slack
Slack kan optreden als native goedkeuringsclient met interactieve knoppen en interacties, in plaats van terug te vallen op de web-UI of terminal.- Exec-goedkeuringen gebruiken
channels.slack.execApprovals.*voor native DM-/kanaalroutering. - Plugin-goedkeuringen kunnen nog steeds via hetzelfde Slack-native knopoppervlak worden opgelost wanneer de aanvraag al in Slack terechtkomt en het soort goedkeurings-ID
plugin:is. - Autorisatie van goedkeurders wordt nog steeds afgedwongen: alleen gebruikers die als goedkeurders zijn geïdentificeerd, kunnen aanvragen via Slack goedkeuren of weigeren.
interactivity is ingeschakeld in je Slack-appinstellingen, worden goedkeuringsprompts rechtstreeks in het gesprek weergegeven als Block Kit-knoppen.
Wanneer die knoppen aanwezig zijn, vormen ze de primaire goedkeurings-UX; OpenClaw
mag alleen een handmatig /approve-commando opnemen wanneer het toolresultaat zegt dat chatgoedkeuringen
niet beschikbaar zijn of handmatige goedkeuring de enige route is.
Configuratiepad:
channels.slack.execApprovals.enabledchannels.slack.execApprovals.approvers(optioneel; valt indien mogelijk terug opcommands.ownerAllowFrom)channels.slack.execApprovals.target(dm|channel|both, standaard:dm)agentFilter,sessionFilter
enabled niet is ingesteld of "auto" is en minstens één
goedkeurder wordt gevonden. Stel enabled: false in om Slack expliciet uit te schakelen als native goedkeuringsclient.
Stel enabled: true in om native goedkeuringen geforceerd in te schakelen wanneer goedkeurders worden gevonden.
Standaardgedrag zonder expliciete Slack-configuratie voor exec-goedkeuring:
approvals.exec-doorsturing staat hiervan los. Gebruik dit alleen wanneer prompts voor exec-goedkeuring ook
naar andere chats of expliciete out-of-band doelen moeten worden gerouteerd. Gedeelde approvals.plugin-doorsturing staat ook
los; Slack-native knoppen kunnen nog steeds Plugin-goedkeuringen oplossen wanneer die aanvragen al in Slack terechtkomen.
Same-chat /approve werkt ook in Slack-kanalen en DM’s die al commando’s ondersteunen. Zie Exec-goedkeuringen voor het volledige model voor goedkeuringsdoorsturing.
Gebeurtenissen en operationeel gedrag
- Berichtbewerkingen/-verwijderingen worden toegewezen aan systeemgebeurtenissen.
- Threaddoorzendingen (“Ook naar kanaal sturen”-threadantwoorden) worden verwerkt als normale gebruikersberichten.
- Reactie-toevoegings-/verwijderingsgebeurtenissen worden toegewezen aan systeemgebeurtenissen.
- Gebeurtenissen voor lid toetreden/verlaten, kanaal aangemaakt/hernoemd en pin toevoegen/verwijderen worden toegewezen aan systeemgebeurtenissen.
channel_id_changedkan kanaalconfiguratiesleutels migreren wanneerconfigWritesis ingeschakeld.- Metadata voor kanaalonderwerp/-doel wordt behandeld als onvertrouwde context en kan in routeringscontext worden geïnjecteerd.
- Threadstarter en initiële threadgeschiedeniscontext-seeding worden gefilterd op geconfigureerde afzender-allowlists wanneer van toepassing.
- Blokacties en modalinteracties sturen gestructureerde
Slack interaction: ...-systeemgebeurtenissen uit met rijke payloadvelden:- blokacties: geselecteerde waarden, labels, pickerwaarden en
workflow_*-metadata - modal-
view_submission- enview_closed-gebeurtenissen met gerouteerde kanaalmetadata en formulierinvoer
- blokacties: geselecteerde waarden, labels, pickerwaarden en
Configuratiereferentie
Primaire referentie: Configuratiereferentie - Slack.High-signal Slack fields
High-signal Slack fields
- modus/auth:
mode,botToken,appToken,signingSecret,webhookPath,accounts.* - DM-toegang:
dm.enabled,dmPolicy,allowFrom(legacy:dm.policy,dm.allowFrom),dm.groupEnabled,dm.groupChannels - compatibiliteitsschakelaar:
dangerouslyAllowNameMatching(noodoptie; uit laten tenzij nodig) - kanaaltoegang:
groupPolicy,channels.*,channels.*.users,channels.*.requireMention - threading/geschiedenis:
replyToMode,replyToModeByChatType,thread.*,historyLimit,dmHistoryLimit,dms.*.historyLimit - levering:
textChunkLimit,chunkMode,mediaMaxMb,streaming,streaming.nativeTransport,streaming.preview.toolProgress - beheer/functies:
configWrites,commands.native,slashCommand.*,actions.*,userToken,userTokenReadOnly
Probleemoplossing
No replies in channels
No replies in channels
Controleer, in volgorde:
groupPolicy- kanaal-allowlist (
channels.slack.channels) — sleutels moeten kanaal-ID’s zijn (C12345678), geen namen (#channel-name). Op namen gebaseerde sleutels mislukken stil ondergroupPolicy: "allowlist"omdat kanaalroutering standaard ID-first is. Een ID vinden: klik met rechts op het kanaal in Slack → Link kopiëren — deC...-waarde aan het einde van de URL is de kanaal-ID. requireMention- per-kanaal
users-allowlist
DM messages ignored
DM messages ignored
Controleer:
channels.slack.dm.enabledchannels.slack.dmPolicy(of legacychannels.slack.dm.policy)- koppelingsgoedkeuringen / allowlist-vermeldingen
- Slack Assistant-DM-gebeurtenissen: uitgebreide logs met
drop message_changedbetekenen meestal dat Slack een bewerkte Assistant-threadgebeurtenis heeft verzonden zonder een herstelbare menselijke afzender in berichtmetadata
Socket mode not connecting
Socket mode not connecting
Valideer bot- en app-tokens en inschakeling van Socket Mode in Slack-appinstellingen.Als
openclaw channels status --probe --json botTokenStatus of
appTokenStatus: "configured_unavailable" toont, is het Slack-account
geconfigureerd maar kon de huidige runtime de door SecretRef ondersteunde
waarde niet vinden.HTTP mode not receiving events
HTTP mode not receiving events
Valideer:
- signing secret
- Webhook-pad
- Slack Request URLs (Events + Interactivity + Slash Commands)
- unieke
webhookPathper HTTP-account
signingSecretStatus: "configured_unavailable" in account-snapshots
verschijnt, is het HTTP-account geconfigureerd maar kon de huidige runtime
de door SecretRef ondersteunde signing secret niet vinden.Native/slash commands not firing
Native/slash commands not firing
Controleer wat je bedoelde:
- native commandomodus (
channels.slack.commands.native: true) met overeenkomende slash-commando’s die in Slack zijn geregistreerd - of enkele slash-commandmodus (
channels.slack.slashCommand.enabled: true)
commands.useAccessGroups en kanaal-/gebruikers-allowlists.Referentie voor attachment vision
Slack kan gedownloade media aan de agentbeurt toevoegen wanneer Slack-bestandsdownloads slagen en groottelimieten dit toestaan. Afbeeldingsbestanden kunnen worden doorgegeven via het pad voor mediabegrip of rechtstreeks naar een vision-geschikt antwoordmodel; andere bestanden worden behouden als downloadbare bestandscontext in plaats van als afbeeldingsinvoer te worden behandeld.Ondersteunde mediatypen
| Mediatype | Bron | Huidig gedrag | Opmerkingen |
|---|---|---|---|
| JPEG / PNG / GIF / WebP-afbeeldingen | Slack-bestands-URL | Gedownload en aan de beurt toegevoegd voor vision-geschikte verwerking | Limiet per bestand: channels.slack.mediaMaxMb (standaard 20 MB) |
| PDF-bestanden | Slack-bestands-URL | Gedownload en beschikbaar gemaakt als bestandscontext voor tools zoals download-file of pdf | Slack-inbound converteert PDF’s niet automatisch naar image-vision-invoer |
| Andere bestanden | Slack-bestands-URL | Waar mogelijk gedownload en beschikbaar gemaakt als bestandscontext | Binaire bestanden worden niet behandeld als afbeeldingsinvoer |
| Threadantwoorden | Threadstarterbestanden | Rootberichtbestanden kunnen als context worden gehydrateerd wanneer het antwoord geen directe media heeft | Starters met alleen bestanden gebruiken een bijlageplaceholder |
| Multi-afbeeldingsberichten | Meerdere Slack-bestanden | Elk bestand wordt afzonderlijk geëvalueerd | Slack-verwerking is beperkt tot acht bestanden per bericht |
Inbound-pipeline
Wanneer een Slack-bericht met bestandsbijlagen binnenkomt:- OpenClaw downloadt het bestand vanaf de privé-URL van Slack met het bottoken (
xoxb-...). - Het bestand wordt bij succes naar de mediaopslag geschreven.
- Gedownloade mediapaden en contenttypen worden toegevoegd aan de inbound-context.
- Image-geschikte model-/toolpaden kunnen afbeeldingsbijlagen uit die context gebruiken.
- Niet-afbeeldingsbestanden blijven beschikbaar als bestandsmetadata of mediareferenties voor tools die ze kunnen verwerken.
Overerving van thread-rootbijlagen
Wanneer een bericht in een thread binnenkomt (met eenthread_ts-parent):
- Als het antwoord zelf geen directe media heeft en het opgenomen rootbericht bestanden bevat, kan Slack de rootbestanden hydrateren als threadstartercontext.
- Directe antwoordbijlagen hebben voorrang op rootberichtbijlagen.
- Een rootbericht dat alleen bestanden en geen tekst heeft, wordt weergegeven met een bijlageplaceholder zodat de fallback de bestanden nog steeds kan opnemen.
Verwerking van meerdere bijlagen
Wanneer één Slack-bericht meerdere bestandsbijlagen bevat:- Elke bijlage wordt onafhankelijk verwerkt via de mediapijplijn.
- Gedownloade mediaverwijzingen worden samengevoegd in de berichtcontext.
- De verwerkingsvolgorde volgt de bestandsvolgorde van Slack in de eventpayload.
- Een fout bij het downloaden van één bijlage blokkeert de andere niet.
Grootte-, download- en modellimieten
- Groottelimiet: Standaard 20 MB per bestand. Configureerbaar via
channels.slack.mediaMaxMb. - Downloadfouten: Bestanden die Slack niet kan aanbieden, verlopen URL’s, ontoegankelijke bestanden, te grote bestanden en Slack-auth-/login-HTML-reacties worden overgeslagen in plaats van gerapporteerd als niet-ondersteunde indelingen.
- Vision-model: Afbeeldingsanalyse gebruikt het actieve antwoordmodel wanneer dit vision ondersteunt, of het afbeeldingsmodel dat is geconfigureerd bij
agents.defaults.imageModel.
Bekende beperkingen
| Scenario | Huidig gedrag | Tijdelijke oplossing |
|---|---|---|
| Verlopen Slack-bestands-URL | Bestand overgeslagen; geen fout getoond | Upload het bestand opnieuw in Slack |
| Vision-model niet geconfigureerd | Afbeeldingsbijlagen worden opgeslagen als mediaverwijzingen, maar niet geanalyseerd als afbeeldingen | Configureer agents.defaults.imageModel of gebruik een vision-geschikt antwoordmodel |
| Zeer grote afbeeldingen (> 20 MB standaard) | Overgeslagen volgens de groottelimiet | Verhoog channels.slack.mediaMaxMb als Slack dit toestaat |
| Doorgestuurde/gedeelde bijlagen | Tekst en door Slack gehoste afbeeldings-/bestandsmedia zijn best-effort | Deel ze rechtstreeks opnieuw in de OpenClaw-thread |
| PDF-bijlagen | Opgeslagen als bestands-/mediacontext, niet automatisch via image vision gerouteerd | Gebruik download-file voor bestandsmetadata of de pdf-tool voor PDF-analyse |
Gerelateerde documentatie
- Pijplijn voor mediabegrip
- PDF-tool
- Epic: #51349 — Slack-bijlagevision inschakelen
- Regressietests: #51353
- Live verificatie: #51354
Gerelateerd
Koppelen
Koppel een Slack-gebruiker aan de Gateway.
Groepen
Gedrag van kanalen en groeps-DM’s.
Kanaalroutering
Routeer inkomende berichten naar agents.
Beveiliging
Dreigingsmodel en hardening.
Configuratie
Config-indeling en prioriteit.
Slash-commando's
Commandocatalogus en gedrag.