I have a feature idea that might sound unusual at first, but could be useful for teams running automated jobs that depend on real-world conditions.
CircleCI already gives us a lot of control over when and how workflows run. We can schedule pipelines, use conditions, run jobs concurrently and monitor their performance. But what if a workflow could also react to external environmental data?
For example, imagine a company that runs automated outdoor infrastructure checks, agricultural data processing, energy forecasts or weather-dependent reports. Instead of triggering the same pipeline at a fixed time every day, the workflow could start when a specific external condition is met.
A simple example would be temperature or rainfall. A pipeline could be configured to run when the forecast predicts heavy rain in a particular location, or when the temperature crosses a predefined threshold.
The data source could be something as simple as a public weather service such as https://thoitiethomnay.org/. CircleCI wouldn't necessarily need to provide the weather data itself. A native mechanism for securely querying an external API and using the returned value as a workflow condition could be enough.
I think this could be implemented as an optional trigger condition, something along the lines of:
“Run this workflow when external value X becomes greater than Y.”
That could potentially be useful far beyond weather. Exchange rates, monitoring data, public APIs, deployment status or other external events could all become workflow triggers.
Would anyone else find a feature like this useful? Or is it better handled entirely outside CircleCI using webhooks, cron jobs and an external automation service?
I'm particularly interested in whether teams currently have custom scripts doing something similar. If so, having a cleaner way to connect external conditions with CircleCI workflows could remove quite a bit of glue code.