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