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 Stack,Anthropic Claude,Per-Class Confidence Filter,Color Visualization,Single-Label Classification Model,Perspective Correction,Corner Visualization,Roboflow Custom Metadata,Halo Visualization,Dynamic Zone,Qwen-VL,Keypoint Detection Model,JSON Parser,Email Notification,Object Detection Model,Background Color Visualization,Email Notification,Text Display,Image Preprocessing,Template Matching,Relative Static Crop,Florence-2 Model,VLM As Detector,OpenAI,OCR Model,Blur Visualization,Depth Estimation,Instance Segmentation Model,Stability AI Outpainting,Anthropic Claude,PLC EthernetIP,Buffer,Webhook Sink,Byte Tracker,Contrast Equalization,Mask Edge Snap,Moondream2,VLM As Detector,Line Counter,Google Gemini,Triangle Visualization,Overlap Filter,Time in Zone,Inner Workflow,First Non Empty Or Default,Detections Stabilizer,Keypoint Detection Model,VLM As Classifier,Roboflow Asset Library Attributes,Polygon Zone Visualization,Google Gemma API,Contrast Enhancement,Image Threshold,Line Counter Visualization,Distance Measurement,Camera Calibration,Detection Offset,ByteTrack Tracker,Expression,S3 Sink,Microsoft SQL Server Sink,Twilio SMS Notification,Detections Combine,Morphological Transformation,Camera Focus,Delta Filter,Size Measurement,Stability AI Inpainting,PTZ Tracking (ONVIF),Classification Label Visualization,Stitch OCR Detections,Event Writer,Mask Visualization,Byte Tracker,Switch Case,Dominant Color,Rate Limiter,Reference Path Visualization,Image Slicer,Identify Outliers,Byte Tracker,OPC UA Writer Sink,Dot Visualization,Cache Set,Identify Changes,Dynamic Crop,Path Deviation,Llama 3.2 Vision,BoT-SORT Tracker,Gaze Detection,Segment Anything 2 Model,OpenAI-Compatible LLM,Single-Label Classification Model,Overlap Analysis,QR Code Detection,Qwen3.5,Object Detection Model,Qwen 3.6 API,Detections Consensus,Multi-Label Classification Model,OpenAI,SAM 3,PLC Reader,Image Convert Grayscale,Instance Segmentation Model,Roboflow Dataset Upload,SAM 3,Detections Classes Replacement,Roboflow Dataset Upload,PLC Writer,Instance Segmentation Model,Qwen 3.5 API,OC-SORT Tracker,Seg Preview,VLM As Classifier,Line Counter,MoonshotAI Kimi,Stability AI Image Generation,Trace Visualization,Path Deviation,Qwen2.5-VL,Icon Visualization,SIFT Comparison,Morphological Transformation,SmolVLM2,LMM For Classification,Clip Comparison,Environment Secrets Store,Detections Merge,Halo Visualization,Data Aggregator,Google Gemma,Ellipse Visualization,Twilio SMS/MMS Notification,Polygon Visualization,Crop Visualization,Absolute Static Crop,Model Monitoring Inference Aggregator,OpenRouter,OpenAI,PLC ModbusTCP,Motion Detection,Heatmap Visualization,Detections Filter,Perception Encoder Embedding Model,Dimension Collapse,Barcode Detection,YOLO-World Model,Google Gemini,Clip Comparison,Google Gemini,Background Subtraction,CSV Formatter,Keypoint Visualization,Stitch Images,Florence-2 Model,Current Time,Detections List Roll-Up,OpenAI,Qwen3-VL,Slack Notification,CLIP Embedding Model,SIFT,Local File Sink,Multi-Label Classification Model,Cosine Similarity,Image Contours,Pixel Color Count,GLM-OCR,Image Slicer,Time in Zone,Semantic Segmentation Model,Stitch OCR Detections,Semantic Segmentation Model,Multi-Label Classification Model,QR Code Generator,Detection Event Log,Detections Transformation,Mask Area Measurement,Google Vision OCR,Image Blur,Property Definition,Roboflow Vision Events,Bounding Rectangle,SAM2 Video Tracker,Qwen3.5-VL,Grid Visualization,Llama 3.2 Vision,Velocity,Label Visualization,SIFT Comparison,Detections Stitch,Circle Visualization,SAM3 Video Tracker,Camera Focus,MoonshotAI Kimi,CogVLM,SAM 3 Interactive,Bounding Box Visualization,LMM,Continue If,Roboflow Visual Search,EasyOCR,Cache Get,Instance Segmentation Model,Pixelate Visualization,Keypoint Detection Model,SORT Tracker,Track Class Lock,Anthropic Claude,Object Detection Model,Time in Zone,MQTT Writer,Polygon Visualization,SAM 3,Model Comparison Visualization,Single-Label Classification Model - outputs:
Line Counter,MoonshotAI Kimi,Stability AI Image Generation,Trace Visualization,Path Deviation,Image Stack,Anthropic Claude,Icon Visualization,SIFT Comparison,Morphological Transformation,Color Visualization,LMM For Classification,Single-Label Classification Model,Perspective Correction,Corner Visualization,Roboflow Custom Metadata,Halo Visualization,Dynamic Zone,Keypoint Detection Model,Qwen-VL,Email Notification,Halo Visualization,Object Detection Model,Google Gemma,Background Color Visualization,Ellipse Visualization,Email Notification,Twilio SMS/MMS Notification,Text Display,Polygon Visualization,Crop Visualization,Image Preprocessing,Template Matching,Model Monitoring Inference Aggregator,OpenRouter,OpenAI,Florence-2 Model,Motion Detection,Heatmap Visualization,OpenAI,Perception Encoder Embedding Model,Blur Visualization,Depth Estimation,Instance Segmentation Model,Stability AI Outpainting,Anthropic Claude,YOLO-World Model,Google Gemini,Clip Comparison,Google Gemini,Keypoint Visualization,Webhook Sink,Florence-2 Model,Current Time,Contrast Equalization,OpenAI,Moondream2,Line Counter,Google Gemini,Slack Notification,Triangle Visualization,Time in Zone,CLIP Embedding Model,Multi-Label Classification Model,Local File Sink,Keypoint Detection Model,Pixel Color Count,GLM-OCR,Roboflow Asset Library Attributes,Polygon Zone Visualization,Time in Zone,Google Gemma API,Stitch OCR Detections,Line Counter Visualization,Semantic Segmentation Model,Distance Measurement,Image Threshold,Multi-Label Classification Model,Camera Calibration,QR Code Generator,S3 Sink,Microsoft SQL Server Sink,Twilio SMS Notification,Google Vision OCR,Image Blur,Morphological Transformation,Roboflow Vision Events,Size Measurement,PTZ Tracking (ONVIF),Stability AI Inpainting,Classification Label Visualization,Stitch OCR Detections,Event Writer,Qwen3.5-VL,Mask Visualization,Llama 3.2 Vision,Reference Path Visualization,Label Visualization,OPC UA Writer Sink,Dot Visualization,Cache Set,Dynamic Crop,Detections Stitch,Circle Visualization,Llama 3.2 Vision,BoT-SORT Tracker,Path Deviation,SAM3 Video Tracker,Gaze Detection,Segment Anything 2 Model,OpenAI-Compatible LLM,MoonshotAI Kimi,Single-Label Classification Model,CogVLM,Object Detection Model,SAM 3 Interactive,Qwen 3.6 API,Detections Consensus,Bounding Box Visualization,Multi-Label Classification Model,LMM,OpenAI,SAM 3,Instance Segmentation Model,Roboflow Visual Search,Roboflow Dataset Upload,SAM 3,Cache Get,Instance Segmentation Model,Detections Classes Replacement,Pixelate Visualization,Keypoint Detection Model,Instance Segmentation Model,Roboflow Dataset Upload,PLC Writer,Qwen 3.5 API,Object Detection Model,Anthropic Claude,Time in Zone,MQTT Writer,Polygon Visualization,SAM 3,Model Comparison Visualization,Single-Label Classification Model,Seg Preview
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
}