Event Writer¶
Class: EventWriterSinkBlockV1
Source: inference.enterprise.workflows.enterprise_blocks.sinks.event_writer.v1.EventWriterSinkBlockV1
The Event Writer block sends structured events to the Event Ingestion Service using the v2 API.
Supported Event Schemas¶
- Quality Check — pass/fail inspection results
- Inventory Count — item counts at a location
- Safety Alert — safety incidents with severity levels
- Custom — free-form events with an arbitrary value field
Images¶
Each event includes one image entry. You must provide an output image (the primary display image, typically a visualization). You can optionally attach an input image (the original frame before any annotation).
Annotations¶
You can optionally pass object detection, classification, instance segmentation, or keypoint predictions from upstream model blocks. These are stored as structured annotations on the image within the event.
Execution Modes¶
- Fire-and-forget (
fire_and_forget=True, default) — the HTTP request is dispatched in the background so the workflow continues immediately. Theevent_idoutput will be empty. - Synchronous (
fire_and_forget=False) — the block waits for the response and returns the createdevent_id.
Rate Limiting¶
Use the Rate Limiter workflow block upstream of this block to control how often events are sent.
Authentication¶
If the Event Ingestion Service requires an API key, set the
EVENT_INGESTION_API_KEY environment variable on the inference server.
Requests are sent unauthenticated when the variable is not set.
Type identifier¶
Use the following identifier in step "type" field: roboflow_enterprise/event_writer_sink@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
event_ingestion_url |
str |
Base URL of the Event Ingestion Service.. | ✅ |
event_schema |
str |
The event schema to use.. | ❌ |
image_label |
str |
Label for the image entry.. | ✅ |
custom_metadata |
Dict[str, Union[bool, float, int, str]] |
Flat key-value metadata (max 100 keys, values must be str/int/float/bool).. | ✅ |
qc_result |
str |
Quality check result: pass or fail.. | ✅ |
external_id |
str |
External identifier for correlation with other systems (max 1000 chars).. | ✅ |
location |
str |
Location identifier for inventory count.. | ✅ |
item_count |
int |
Number of items counted.. | ✅ |
item_type |
str |
Type of item being counted.. | ✅ |
alert_type |
str |
Alert type identifier (alphanumeric, underscores, hyphens).. | ✅ |
severity |
str |
Severity level for the safety alert.. | ✅ |
alert_description |
str |
Description of the safety alert (max 10000 chars).. | ✅ |
custom_value |
str |
Arbitrary value for custom events (max 10000 chars).. | ✅ |
fire_and_forget |
bool |
If True, send the event asynchronously (no event_id returned). If False, wait for the response and return the event_id.. | ✅ |
disable_sink |
bool |
If True, skip sending the event entirely.. | ✅ |
request_timeout |
int |
HTTP request timeout in seconds.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Event Writer in version v1.
- inputs:
Image Preprocessing,Detections Transformation,Object Detection Model,Time in Zone,Text Display,Template Matching,Image Threshold,Keypoint Detection Model,Time in Zone,OpenAI,Crop Visualization,Cosine Similarity,Florence-2 Model,Roboflow Dataset Upload,Qwen3.5-VL,Roboflow Vision Events,Polygon Zone Visualization,Qwen2.5-VL,Polygon Visualization,S3 Sink,Absolute Static Crop,QR Code Generator,SIFT Comparison,Cache Get,Stitch OCR Detections,OCR Model,Color Visualization,Gaze Detection,OpenAI-Compatible LLM,Line Counter Visualization,Image Blur,Stability AI Inpainting,Blur Visualization,SAM 3,Detection Offset,Anthropic Claude,MQTT Writer,Image Slicer,SAM 3,Detections Consensus,Ellipse Visualization,Google Gemma API,Detections Stitch,PLC ModbusTCP,Overlap Analysis,Rate Limiter,Image Stack,Google Gemini,Delta Filter,Cache Set,Keypoint Detection Model,Stitch OCR Detections,Camera Focus,CSV Formatter,Keypoint Detection Model,Perception Encoder Embedding Model,Image Convert Grayscale,Roboflow Asset Library Attributes,Seg Preview,Overlap Filter,Buffer,Multi-Label Classification Model,Icon Visualization,Triangle Visualization,Qwen 3.5 API,VLM As Classifier,Dominant Color,Instance Segmentation Model,Distance Measurement,Qwen3-VL,Background Color Visualization,Byte Tracker,Clip Comparison,Corner Visualization,Single-Label Classification Model,Image Slicer,Dynamic Crop,Stability AI Outpainting,Detection Event Log,VLM As Detector,Anthropic Claude,Clip Comparison,SORT Tracker,OpenAI,ByteTrack Tracker,Detections Combine,Camera Calibration,Trace Visualization,PTZ Tracking (ONVIF),Email Notification,Camera Focus,Background Subtraction,GLM-OCR,SAM2 Video Tracker,Qwen3.5,VLM As Detector,Llama 3.2 Vision,Property Definition,Stitch Images,Mask Visualization,Microsoft SQL Server Sink,Data Aggregator,Detections Classes Replacement,Morphological Transformation,Email Notification,VLM As Classifier,Halo Visualization,Morphological Transformation,Pixel Color Count,BoT-SORT Tracker,Model Monitoring Inference Aggregator,Pixelate Visualization,Qwen-VL,CogVLM,SAM 3,Dot Visualization,Google Vision OCR,Detections Merge,Detections List Roll-Up,PLC EthernetIP,Dimension Collapse,Mask Edge Snap,SIFT Comparison,Twilio SMS/MMS Notification,Contrast Enhancement,Per-Class Confidence Filter,Single-Label Classification Model,Dynamic Zone,Detections Filter,Byte Tracker,Roboflow Dataset Upload,Roboflow Custom Metadata,Bounding Rectangle,Environment Secrets Store,LMM For Classification,Detections Stabilizer,Object Detection Model,Path Deviation,Current Time,Perspective Correction,Keypoint Visualization,Byte Tracker,MoonshotAI Kimi,Google Gemini,Identify Changes,Depth Estimation,Object Detection Model,Slack Notification,Identify Outliers,Inner Workflow,Time in Zone,Bounding Box Visualization,Label Visualization,Size Measurement,Multi-Label Classification Model,OpenAI,SIFT,Anthropic Claude,OC-SORT Tracker,Moondream2,CLIP Embedding Model,Florence-2 Model,EasyOCR,YOLO-World Model,Segment Anything 2 Model,Twilio SMS Notification,Local File Sink,Single-Label Classification Model,Mask Area Measurement,Path Deviation,JSON Parser,OpenRouter,Instance Segmentation Model,OpenAI,MoonshotAI Kimi,Continue If,Google Gemini,Grid Visualization,Semantic Segmentation Model,Reference Path Visualization,SmolVLM2,Line Counter,Halo Visualization,First Non Empty Or Default,Webhook Sink,Instance Segmentation Model,Relative Static Crop,Multi-Label Classification Model,Expression,Llama 3.2 Vision,Barcode Detection,Velocity,Motion Detection,Google Gemma,Model Comparison Visualization,OPC UA Writer Sink,Line Counter,QR Code Detection,Circle Visualization,LMM,Event Writer,Instance Segmentation Model,Contrast Equalization,Heatmap Visualization,Qwen 3.6 API,Image Contours,Classification Label Visualization,Stability AI Image Generation,Semantic Segmentation Model,Polygon Visualization - outputs:
Detections Classes Replacement,Morphological Transformation,Image Preprocessing,Email Notification,Halo Visualization,Morphological Transformation,Object Detection Model,Time in Zone,BoT-SORT Tracker,Text Display,Template Matching,Pixel Color Count,Image Threshold,Model Monitoring Inference Aggregator,Pixelate Visualization,Keypoint Detection Model,Time in Zone,Qwen-VL,OpenAI,CogVLM,Crop Visualization,SAM 3,Dot Visualization,Google Vision OCR,Florence-2 Model,Roboflow Dataset Upload,Qwen3.5-VL,Roboflow Vision Events,Polygon Zone Visualization,Polygon Visualization,S3 Sink,Twilio SMS/MMS Notification,QR Code Generator,SIFT Comparison,Single-Label Classification Model,Cache Get,Stitch OCR Detections,Dynamic Zone,Color Visualization,Roboflow Dataset Upload,Gaze Detection,Roboflow Custom Metadata,LMM For Classification,OpenAI-Compatible LLM,Line Counter Visualization,Stability AI Inpainting,Image Blur,Object Detection Model,Blur Visualization,Path Deviation,Current Time,SAM 3,Perspective Correction,Keypoint Visualization,Anthropic Claude,MQTT Writer,MoonshotAI Kimi,Google Gemini,SAM 3,Depth Estimation,Detections Consensus,Ellipse Visualization,Detections Stitch,Google Gemma API,Object Detection Model,Slack Notification,Time in Zone,Image Stack,Google Gemini,Cache Set,Bounding Box Visualization,Label Visualization,Keypoint Detection Model,Stitch OCR Detections,Size Measurement,Keypoint Detection Model,Multi-Label Classification Model,OpenAI,Perception Encoder Embedding Model,Anthropic Claude,Roboflow Asset Library Attributes,Moondream2,CLIP Embedding Model,Florence-2 Model,Seg Preview,YOLO-World Model,Multi-Label Classification Model,Segment Anything 2 Model,Twilio SMS Notification,Local File Sink,Single-Label Classification Model,Triangle Visualization,Icon Visualization,Qwen 3.5 API,Path Deviation,OpenRouter,Instance Segmentation Model,Distance Measurement,Instance Segmentation Model,OpenAI,Background Color Visualization,MoonshotAI Kimi,Google Gemini,Corner Visualization,Reference Path Visualization,Single-Label Classification Model,Line Counter,Halo Visualization,Webhook Sink,Dynamic Crop,Instance Segmentation Model,Stability AI Outpainting,Anthropic Claude,Multi-Label Classification Model,Clip Comparison,OpenAI,Llama 3.2 Vision,Motion Detection,PTZ Tracking (ONVIF),Camera Calibration,Model Comparison Visualization,Trace Visualization,Google Gemma,OPC UA Writer Sink,Line Counter,Circle Visualization,Email Notification,LMM,Event Writer,Instance Segmentation Model,Heatmap Visualization,Contrast Equalization,GLM-OCR,Qwen 3.6 API,Classification Label Visualization,Llama 3.2 Vision,Mask Visualization,Microsoft SQL Server Sink,Stability AI Image Generation,Semantic Segmentation Model,Polygon Visualization
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
Event Writer in version v1 has.
Bindings
-
input
event_ingestion_url(string): Base URL of the Event Ingestion Service..output_image(image): The output/visualization image. Sent as the primary display image..input_image(image): The original input image (optional). Sent as the source image..image_label(string): Label for the image entry..custom_metadata(*): Flat key-value metadata (max 100 keys, values must be str/int/float/bool)..qc_result(string): Quality check result: pass or fail..external_id(string): External identifier for correlation with other systems (max 1000 chars)..location(string): Location identifier for inventory count..item_count(integer): Number of items counted..item_type(string): Type of item being counted..alert_type(string): Alert type identifier (alphanumeric, underscores, hyphens)..severity(string): Severity level for the safety alert..alert_description(string): Description of the safety alert (max 10000 chars)..custom_value(string): Arbitrary value for custom events (max 10000 chars)..object_detections(object_detection_prediction): Object detection predictions to attach to the image..classifications(classification_prediction): Classification predictions to attach to the image..instance_segmentations(instance_segmentation_prediction): Instance segmentation predictions to attach to the image..keypoint_detections(keypoint_detection_prediction): Keypoint detection predictions to attach to the image..fire_and_forget(boolean): If True, send the event asynchronously (no event_id returned). If False, wait for the response and return the event_id..disable_sink(boolean): If True, skip sending the event entirely..request_timeout(integer): HTTP request timeout in seconds..
-
output
Example JSON definition of step Event Writer in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_enterprise/event_writer_sink@v1",
"event_ingestion_url": "http://localhost:8001",
"event_schema": "<block_does_not_provide_example>",
"output_image": "<block_does_not_provide_example>",
"input_image": "<block_does_not_provide_example>",
"image_label": "defect-analysis",
"custom_metadata": {
"line": "A1",
"shift": "morning"
},
"qc_result": "pass",
"external_id": "batch-2025-001",
"location": "warehouse-A",
"item_count": 42,
"item_type": "widget",
"alert_type": "no_hardhat",
"severity": "high",
"alert_description": "Worker detected without hardhat in zone B",
"custom_value": "anomaly detected at 14:32",
"object_detections": "<block_does_not_provide_example>",
"classifications": "<block_does_not_provide_example>",
"instance_segmentations": "<block_does_not_provide_example>",
"keypoint_detections": "<block_does_not_provide_example>",
"fire_and_forget": true,
"disable_sink": false,
"request_timeout": 5
}