Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[discuss] Passing data from one action to subsequent actions #51282

Open
mikecote opened this issue Nov 21, 2019 · 6 comments
Open

[discuss] Passing data from one action to subsequent actions #51282

mikecote opened this issue Nov 21, 2019 · 6 comments
Labels
discuss enhancement New value added to drive a business result estimate:needs-research Estimated as too large and requires research to break down into workable issues Feature:Actions/Framework Issues related to the Actions Framework Feature:Actions Feature:Alerting/RuleActions Issues related to the Actions attached to Rules on the Alerting Framework Feature:Alerting Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams)

Comments

@mikecote
Copy link
Contributor

As mentioned here: #45023 (comment). Folks will want a way to get a url to a generated ticket to use in a subsequent action. Eg, generate a GH issue, then post a slack message with the url to that GH issue.

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-stack-services (Team:Stack Services)

@pmuellr pmuellr changed the title Subsequent actions passing data from one action to subsequent actions Nov 21, 2019
@mikecote mikecote changed the title passing data from one action to subsequent actions Passing data from one action to subsequent actions Nov 23, 2019
@bmcconaghy bmcconaghy added Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams) and removed Team:Stack Services labels Dec 12, 2019
@mikecote
Copy link
Contributor Author

@pmuellr was mentioning we could leverage expressions to narrate the flow of the actions and their dependencies.

@ymao1 ymao1 added the discuss label Apr 23, 2021
@pmuellr pmuellr changed the title Passing data from one action to subsequent actions [discuss[ Passing data from one action to subsequent actions Apr 23, 2021
@pmuellr
Copy link
Member

pmuellr commented Apr 23, 2021

Changing this to discuss as we don't have any requirements for this from anyone, yet. But believe we will eventually.

As Mike mentions ^^^, one of my thoughts on "Kibana expressions as alerts" is that an expression could both perform the "alert executor" role AND also perform the relevant actions. In fact, it may be hard / unwieldy to have a notion of just a Kibana expression as an alert, without the actions, because then we won't be able to identify the "context variables" that alert would be setting. If we added the ability to actually invoke connectors within the expression, then we get out of the business of having to have "context variables" (as we use them today) associated with such alerts. This implies that we can also invoke connectors via expressions, which seems like a pretty reasonable thing to do, except for addressing them via their UUID which would be painful - perhaps taking a name, or even git-style "first 7 chars of the SHA" kind of short forms.

@gmmorris gmmorris changed the title [discuss[ Passing data from one action to subsequent actions [discuss] Passing data from one action to subsequent actions Jul 1, 2021
@gmmorris gmmorris added Feature:Actions Feature:Actions/Framework Issues related to the Actions Framework Feature:Alerting/RuleActions Issues related to the Actions attached to Rules on the Alerting Framework labels Jul 1, 2021
@gmmorris gmmorris added the loe:needs-research This issue requires some research before it can be worked on or estimated label Jul 14, 2021
@gmmorris gmmorris added enhancement New value added to drive a business result estimate:needs-research Estimated as too large and requires research to break down into workable issues labels Aug 16, 2021
@gmmorris gmmorris removed the loe:needs-research This issue requires some research before it can be worked on or estimated label Sep 2, 2021
@kobelb kobelb added the needs-team Issues missing a team label label Jan 31, 2022
@botelastic botelastic bot removed the needs-team Issues missing a team label label Jan 31, 2022
@chrisronline
Copy link
Contributor

@pmuellr Do you think this is still valuable? I'm wondering if we've heard requests like this recently. I'm wondering how much time we should spend researching what it would take to do this, as I think we'd want to maintain some parallelism of actions but perhaps allow some opt-in sequential-ness and support passing in the results from the previous action execution - maybe we can start grouping actions into a single action and a grouped action can handle something like this?

@pmuellr
Copy link
Member

pmuellr commented Mar 3, 2022

My current thinking is that we'd leverage Kibana expressions to do this. Somehow expose connectors in an expression context, such that you could execute them in the expression, and then capture the results. Which could then be used in a subsequent connector execution in the same expression, which used that result.

I think I was originally hopeful that we could somehow just "pipeline" actions together, but it's not clear how you'd tell one action to use a particular piece of data from the output of another action. Especially if there were > 2 actions "chained together". And likely it might need some formatting or such.

So, I've been thinking more of a "low code" story like Kibana expressions might work for this. Allow some simple chaining, along with data shaping with existing kibana expression functions.

The fundamental blocker for this right now is that we don't support any output for connectors, beyond pass/fail and an error message.

And I'm thinking this would be a new type of connector anyway, which would mean we could keep the existing semantics, and still run everything "virtually simultaneously". These are just special connectors that allow finer grained access to other connectors, with their own control flow.

So, I think the requirement is still valid - but how we get there is kinda unknown.

@jvalente-salemstate
Copy link

With the feature sets elastic has added since this was suggested, I think this merits another evaluation.

My primary use case is within Elastic Security and this would bring SOAR functionality within elastic and is a value-add when comparing security platforms. This would also enhance the experience those using one of the existing SOAR connectors as the output from the previous actions can be included.

This, and workflows even without other connectors, is already technically possible if one gets creative with Logstash and the write to index or webhook connector. Ingest the triggering event and throughout a pipeline transform events or make other calls with the http filter plugin and so forth. Drop the configuration in centralized pipeline management and all set.

ES ingest pipelines already have a UI in Kibana that could be a base for doing it all within there. They're missing some of the filters that'd make it work in Logstash and http plugins might help.

Or maybe something entirely different but at least two options that are already almost all the way there exist within Elastic's products.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss enhancement New value added to drive a business result estimate:needs-research Estimated as too large and requires research to break down into workable issues Feature:Actions/Framework Issues related to the Actions Framework Feature:Actions Feature:Alerting/RuleActions Issues related to the Actions attached to Rules on the Alerting Framework Feature:Alerting Team:ResponseOps Label for the ResponseOps team (formerly the Cases and Alerting teams)
Projects
No open projects
Development

No branches or pull requests

9 participants