Twilio SMS/MMS Notification¶
Class: TwilioSMSNotificationBlockV2
Source: inference.core.workflows.core_steps.sinks.twilio.sms.v2.TwilioSMSNotificationBlockV2
The Twilio SMS/MMS Notification block allows users to send text and multimedia messages as part of a workflow.
SMS Provider Options¶
This block supports two SMS delivery methods via a dropdown selector:
- Roboflow Managed API Key (Default) - No Twilio configuration needed. Messages are sent through Roboflow's proxy service:
- Simplified setup - just provide message, recipient, and optional media
- Secure - your workflow API key is used for authentication
- No Twilio account required
-
Pricing: US/Canada: 30 messages per credit. International: 10 messages per credit. (SMS and MMS priced the same)
-
Custom Twilio - Use your own Twilio account:
- Full control over message delivery
- Requires Twilio credentials (Account SID, Auth Token, Phone Number)
- You pay Twilio directly for messaging
Message Content¶
-
Receiver Number: Phone number to receive the message (must be in E.164 format, e.g., +15551234567)
-
Message: The body content of the SMS/MMS. Message can be parametrised with data generated during workflow run. See Dynamic Parameters section.
-
Media URL (Optional): For MMS messages, provide image URL(s) or image outputs from visualization blocks
Dynamic Parameters¶
Message content can be parametrised with Workflow execution outcomes. Example:
message = "Alert! Detected {{ '{{' }} $parameters.num_detections {{ '}}' }} objects"
Message parameters are set via message_parameters:
message_parameters = {
"num_detections": "$steps.model.predictions"
}
Transform data using message_parameters_operations:
message_parameters_operations = {
"predictions": [
{"type": "DetectionsPropertyExtract", "property_name": "class_name"}
]
}
MMS Support¶
Send images with your message by providing media_url:
- Image URLs: Provide publicly accessible image URLs as a string or list
- Workflow Images: Reference image outputs from visualization blocks
- Base64 Images: Images are automatically converted for transmission
Example:
media_url = "$steps.bounding_box_visualization.image"
Or multiple images:
media_url = ["https://example.com/image1.jpg", "https://example.com/image2.jpg"]
Note: MMS is primarily supported in US/Canada. International MMS availability varies by carrier.
Using Custom Twilio¶
To use your own Twilio account, select "Custom Twilio" and configure:
twilio_account_sid- Your Twilio Account SID from the Twilio Consoletwilio_auth_token- Your Twilio Auth Tokensender_number- Your Twilio phone number (must be in E.164 format)
Cooldown¶
The block accepts cooldown_seconds (defaults to 5 seconds) to prevent notification bursts. Set 0 for no cooldown.
During cooldown, the throttling_status output is set to True and no message is sent.
Cooldown limitations
Cooldown is limited to video processing. Using this block in HTTP service workflows (Roboflow Hosted API, Dedicated Deployment) has no cooldown effect for HTTP requests.
Async Execution¶
Set fire_and_forget=True to send messages in the background, allowing the Workflow to proceed.
With async mode, error_status is always False. Set fire_and_forget=False for debugging.
Disabling Notifications¶
Set disable_sink flag to manually disable the notifier block via Workflow input.
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/twilio_sms_notification@v2to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
sms_provider |
str |
Choose SMS delivery method: use Roboflow's managed service or configure your own Twilio account.. | ❌ |
receiver_number |
str |
Phone number to receive the message (E.164 format, e.g., +15551234567). | ✅ |
message |
str |
Content of the message to be sent.. | ❌ |
message_parameters |
Dict[str, Union[bool, float, int, str]] |
Data to be used inside the message.. | ✅ |
message_parameters_operations |
Dict[str, List[Union[ClassificationPropertyExtract, ConvertDictionaryToJSON, ConvertImageToBase64, ConvertImageToJPEG, DetectionsFilter, DetectionsOffset, DetectionsPropertyExtract, DetectionsRename, DetectionsSelection, DetectionsShift, DetectionsToDictionary, Divide, ExtractDetectionProperty, ExtractFrameMetadata, ExtractImageProperty, LookupTable, Multiply, NumberRound, NumericSequenceAggregate, PickDetectionsByParentClass, RandomNumber, SequenceAggregate, SequenceApply, SequenceElementsCount, SequenceLength, SequenceMap, SortDetections, StringMatches, StringSubSequence, StringToLowerCase, StringToUpperCase, TimestampToISOFormat, ToBoolean, ToNumber, ToString]]] |
Preprocessing operations to be performed on message parameters.. | ❌ |
media_url |
Optional[List[str], str] |
Optional media URL(s) for MMS. Provide publicly accessible image URLs or image outputs from workflow blocks.. | ✅ |
twilio_account_sid |
str |
Twilio Account SID from the Twilio Console.. | ✅ |
twilio_auth_token |
str |
Twilio Auth Token from the Twilio Console.. | ✅ |
sender_number |
str |
Sender phone number (E.164 format, e.g., +15551234567). | ✅ |
fire_and_forget |
bool |
Boolean flag to run the block asynchronously (True) for faster workflows or synchronously (False) for debugging and error handling.. | ✅ |
disable_sink |
bool |
Boolean flag to disable block execution.. | ✅ |
cooldown_seconds |
int |
Number of seconds until a follow-up notification can be sent.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Runtime compatibility¶
-
requires_internet— air-gapped / offline deployments - This block depends on a service that is not reachable from fully offline / air-gapped deployments.
-
soft— runtimehosted_serverless,dedicated_deployment; executionremote - Cooldown / rate-limit timer is stored in process memory. With remote step execution on stateless or multi-replica HTTP runtimes each request gets a fresh worker, so cooldown does not throttle. Cooldown only behaves as documented with local step execution inside an InferencePipeline.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Twilio SMS/MMS Notification in version v2.
- 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,Detections Consensus,Polygon Visualization,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,Switch Case,MoonshotAI Kimi,Classification Label Visualization,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
Twilio SMS/MMS Notification in version v2 has.
Bindings
-
input
receiver_number(string): Phone number to receive the message (E.164 format, e.g., +15551234567).message_parameters(*): Data to be used inside the message..media_url(Union[string,image,list_of_values]): Optional media URL(s) for MMS. Provide publicly accessible image URLs or image outputs from workflow blocks..twilio_account_sid(Union[secret,string]): Twilio Account SID from the Twilio Console..twilio_auth_token(Union[secret,string]): Twilio Auth Token from the Twilio Console..sender_number(string): Sender phone number (E.164 format, e.g., +15551234567).fire_and_forget(boolean): Boolean flag to run the block asynchronously (True) for faster workflows or synchronously (False) for debugging and error handling..disable_sink(boolean): Boolean flag to disable block execution..cooldown_seconds(integer): Number of seconds until a follow-up notification can be sent..
-
output
Example JSON definition of step Twilio SMS/MMS Notification in version v2
{
"name": "<your_step_name_here>",
"type": "roboflow_core/twilio_sms_notification@v2",
"sms_provider": "Roboflow Managed API Key",
"receiver_number": "+15551234567",
"message": "Alert! Detected {{ '{{' }} $parameters.num_detections {{ '}}' }} objects",
"message_parameters": {
"num_detections": "$steps.model.predictions",
"reference": "$inputs.reference_class_names"
},
"message_parameters_operations": {
"predictions": [
{
"property_name": "class_name",
"type": "DetectionsPropertyExtract"
}
]
},
"media_url": "$steps.visualization.image",
"twilio_account_sid": "$inputs.twilio_account_sid",
"twilio_auth_token": "$inputs.twilio_auth_token",
"sender_number": "+15551234567",
"fire_and_forget": "$inputs.fire_and_forget",
"disable_sink": false,
"cooldown_seconds": "$inputs.cooldown_seconds"
}