π Added
π§ Slack and Twilio notifications in Workflows
We've just added two notification blocks to Worfklows ecosystem - [Slack](https://inference.roboflow.com/workflows/blocks/slack_notification/) and [Twilio](https://inference.roboflow.com/workflows/blocks/twilio_sms_notification/). Now, there is nothing that can stop you from sending notifications from your Workflows!
https://github.com/user-attachments/assets/52ac8a94-69e4-4304-a0b8-8c77695e688f
`inference-cli` π€ Workflows
We are happy to share that `inference-cli` has now a new command - `inference workflows` that make it possible to process data with Workflows without any additional Python scripts needed π
π₯ Video files processing
* Input a video path, specify an output directory, and run any workflow.
* Frame-by-frame results saved as CSV or JSONL.
* Your Workflow outputs images? Get an output video out from them if you wanted
πΌοΈ Process images and directories of images π
* Outputs stored in subdirectories with JSONL/CSV aggregation available.
* Fault-tollerant processing:
* β
Resume after failure (tracked in logs).
* π Option to force re-processing.
Review our [π docs](https://inference.roboflow.com/inference_helpers/cli_commands/workflows/) to discover all options!
<details>
<summary>π <b>Try the command</b></summary>
To try the command, simply run:
bash
pip install inference
inference workflows process-images-directory \
-i {your_input_directory} \
-o {your_output_directory} \
--workspace_name {your-roboflow-workspace-url} \
--workflow_id {your-workflow-id} \
--api-key {your_roboflow_api_key}
</details>
https://github.com/user-attachments/assets/383e5300-da44-4526-b99f-9a301d944557
π Secrets provider block in Workflows
Many Workflows blocks require credential to work correctly, but so far, the ecosystem only provided one secure option for passing those credentials - using workflow parameters, forcing client applications to manipulate secret values.
Since this is not handy solution, we decided to create [Environment Secrets Store block](https://inference.roboflow.com/workflows/blocks/environment_secrets_store/) which is capable of fetching credentials from environmental variables of `inference` server. Thanks to that, admins can now set up the server and client's code do not need to handle secrets β¨
β οΈ Security Notice:
For enhanced security, always use secret providers or Workflow parameters to handle credentials. Hardcoding secrets into your Workflows is strongly discouraged.
π Limitations:
This block is designed for self-hosted inference servers only. Due to security concerns, exporting environment variables is not supported on the hosted Roboflow Platform.
π OPC Workflow block π‘
The OPC Writer block provides a versatile set of integration options that enable enterprises to seamlessly connect with OPC-compliant systems and incorporate real-time data transfer into their workflows. Hereβs how you can leverage the blockβs flexibility for various integration scenarios that industry-class solutions require.
β¨ Key features
* **Seamless OPC Integration:** Easily send data to OPC servers, whether on local networks or cloud environments, ensuring your workflows can interface with industrial control systems, IoT devices, and SCADA systems.
* **Cross-Platform Connectivity**: Built with [asyncua](https://github.com/FreeOpcUa/opcua-asyncio), the block enables smooth communication across multiple platforms, enabling integration with existing infrastructure and ensuring compatibility with a wide range of OPC standards.
> [!IMPORTANT]
> This Workflow block is released under [Roboflow Enterprise License](https://github.com/roboflow/inference/blob/main/inference/enterprise/LICENSE.txt) and is not available by default on Roboflow Hosted Platform.
> Anyone interested in integrating Workflows with industry systems through OPC - please [contact Roboflow Sales](https://roboflow.com/sales)
See grzegorz-roboflow's change in https://github.com/roboflow/inference/pull/842
π οΈ Fixed