Workflows, Slack Apps and forms
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
L’issue non indica alcun file o test del repository; inizia riproducendo il workflow con com.slack.api:bolt:1.46.0 e tracciando i payload di app.function e app.blockAction. Verifica il comportamento segnalato di triggerId, richtext e AttachingFunctionTokenEnabled. L’issue non definisce una modifica al codice chiara né un test di accettazione, quindi per completarla sarebbe necessario un chiarimento da parte dei maintainer.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Hey there!
I've been trying to implement a seemingly straightforward Slack application but have faced so many blocks from the Slack side so I decided it would be a good idea to step back and ask you if I'm doing something completely wrong here.
I'm building an app to process internal support requests - quite simple functionality
- User submits a request using a form (incl. richtext field) - I coded the form using the SDK. This is being sent as a message to the channel from where the flow was triggered
- Someone from the team presses a dedicated Claim button
- The issue is discussed in a thread
- Once resolution is reached - a Resolve button is clicked and the supported request is considered solved.
- The app dynamically beautifies the message on every step (e.g. on step 2 it would update the original message with the name of the person who claimed)
- In the app I collect all the info and store it for future analytics
Originally I built it as a Slash command thinking that it is the fastest way to test it all out. However since this bot is designed for not only tech users I decided that the easiest way to run it would be to have a dedicated Workflow that I can then feature in the given channel - so that a big green button will appear in the chat.
And that's where the hurdles really started:
- I cannot trigger a Slash command from workflow - due to architecture constraints I presume
- So I tried sending an Ephemeral message upon receiving
app.functioncall with a button to open my custom developed form with the help ofapp.blockAction
app.blockAction("support", (req, ctx) -> {
try {
final var channelId = req.getPayload().getContainer().getChannelId();
final var triggerId = req.getPayload().getTriggerId();
only to find out that req.getPayload().getTriggerId() is null if a msg was posted by workflow - another architecture constraints? okay
3. Next, I decided to abandon my carefully crafted form and re-create it in Slack directly - only to find out that I cannot pass Richtext from a Form to Workflow input parameters due to, err, I assume one more architecture constraint?
So, now I'm experimenting with some super complicated workflow which involves a Form that is then sent somewhere, so that I can get the richtext description and have it sent to my app. Still trying it out, so unsure if it works out or not in the end.
what worked in the end is the following:
- have a private channel where the app is installed
- collect a form richtext data and use "Send a message to" that private channel step
- provide a link to that message to the app as input param
- app parses the link to get
channelIdandtsof the message - app finds the message and get rich text out of it
so that the rest of the flow can happen. Quite cumbersome, I must admit
My question is - am I doing something totally wrong here or missing something very obvious?
I'm more than happy to share some code snippets if required
edit 2
I later discovered an option called AttachingFunctionTokenEnabled which I set to false, which allowed me to implement option 2 from my list. So my latest workflow is like this:
- user triggers workflow
- my app sends an Ephemeral message with a button to open the form
- user presses on the button and that opens a form generated by my app
2 step process is a bit less user-friendly, but at least not super "hacky"
still, would love to hear a feedback if there is yet another config I might not know of to allow workflows to open the forms
Reproducible in:
mvn dependency:tree | grep com.slack.api
gradle dependencies | grep com.slack.api
java -version
sw_vers && uname -v # or `ver`
The Slack SDK version
com.slack.api:bolt:1.46.0
Java Runtime version
openjdk version "25" 2025-09-16 LTS
OpenJDK Runtime Environment Corretto-25.0.0.36.2 (build 25+36-LTS)
OpenJDK 64-Bit Server VM Corretto-25.0.0.36.2 (build 25+36-LTS, mixed mode, sharing)
OS info
#85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you agree to those rules.
- Lingua principale
- Java
- Stelle
- 602
- Fork
- 235
- Merge medio
- 2g 13h
- PR unite (30g)
- 8
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di slackapi/java-slack-sdk
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
slackapi/java-slack-sdk#1653 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Upgrade JettyForse già presa @skrcode l’ha presa 39 giorni fa. Apertaauto-triage-skip dependencies good first issue
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
slackapi/java-slack-sdk#1567 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
auto-triage-skip discussion enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
slackapi/java-slack-sdk#1535 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Update okhttp to 5.xApertaauto-triage-skip dependencies project:slack-api-client project:slack-app-backend
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
slackapi/java-slack-sdk#1500 · 11 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Table Block SupportApertaauto-triage-skip enhancement project:slack-api-model
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
slackapi/java-slack-sdk#1499 · 4 commenti · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di slackapi/java-slack-sdk
Issue simili
-
[BUG] 订单:会员凭订单号即可取消其他会员的待付款订单(取消接口不校验订单归属)Forse già presa @dadiyang l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
macrozheng/mall#1016 ·
-
[Bug] The producer summary counts an unreported client version as a second version and warns about a version mixForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/rocketmq-dashboard#6110 ·
I maintainer di solito rispondono entro 4 giorni
-
Feature:Resolution
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
intellij-elixir/intellij-elixir#4396 ·
I maintainer di solito rispondono entro 1 giorno
-
Python 3.15 supportForse già presa @amnesiaof l’ha presa oggi. ApertaL: python L: python:uv
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
dependabot/dependabot-core#16524 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
`Processing lsp` never exits and leaves orphaned processesForse già presa @overcast302 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
processing/processing4#1578 · 1 commento ·