TracecatHQ / tracecat

The open source Tines / Splunk SOAR alternative.
https://tracecat.com
GNU Affero General Public License v3.0
2.34k stars 159 forks source link

feat(engine): Turn workflow into API #279

Closed mattdurant closed 1 month ago

mattdurant commented 1 month ago

Webhook endpoint for synchronous execution and return final workflow output.

Description

This is so that you can call a webhook in Tracecat to perform some actions and receive as a response the final_context object from the workflow.

My current use case is an outgoing webhook in Teams instead of a full bot implementation, so I can send a message in a channel to @ChatOps with a command, parse the command in the workflow and then do some work and the final_context is returned. In this case, a chat message indicating success or failure.

Related Tickets & Documents

N/A

Screenshots/Recordings

N/A

Steps to QA

Test by calling a webhook, but add /wait to the URL, the response will return once the workflow is finished and contain the final_context of the workflow.

[optional] What gif best describes this PR?

topher-lo commented 1 month ago

Will delay this PR for next week's release while we rework the API routers and add tests this week.

mattdurant commented 1 month ago

@daryllimyt @topher-lo based on the conflict here, I think you guys did a big refactoring during the same time, I think I should close this PR and start clean make the 2-3 changes to enable this again and re-submit, agreed?

daryllimyt commented 1 month ago

@daryllimyt @topher-lo based on the conflict here, I think you guys did a big refactoring during the same time, I think I should close this PR and start clean make the 2-3 changes to enable this again and re-submit, agreed?

Yes - I'm also aiming to close #285 so I think it makes sense to adjust it accordingly