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.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Twilio SMS/MMS Notification in version v2.
- inputs:
Florence-2 Model,Detections Combine,Roboflow Dataset Upload,Trace Visualization,Delta Filter,Classification Label Visualization,Single-Label Classification Model,Line Counter,Clip Comparison,Ellipse Visualization,Qwen3-VL,Detections Stabilizer,Triangle Visualization,Morphological Transformation,Path Deviation,LMM,First Non Empty Or Default,SmolVLM2,Dimension Collapse,Local File Sink,Barcode Detection,VLM As Classifier,Icon Visualization,QR Code Generator,Stability AI Outpainting,OpenAI,Keypoint Detection Model,Moondream2,Florence-2 Model,Pixelate Visualization,Object Detection Model,Gaze Detection,Cosine Similarity,Clip Comparison,Background Color Visualization,Background Subtraction,Time in Zone,Keypoint Detection Model,Keypoint Visualization,Perception Encoder Embedding Model,Overlap Filter,EasyOCR,Image Blur,Anthropic Claude,Polygon Visualization,SIFT,Webhook Sink,Object Detection Model,Dominant Color,Cache Get,YOLO-World Model,Property Definition,Multi-Label Classification Model,Heatmap Visualization,Image Threshold,Google Gemini,Text Display,Detection Event Log,OpenAI,Instance Segmentation Model,Qwen2.5-VL,Continue If,Single-Label Classification Model,Anthropic Claude,Time in Zone,CSV Formatter,Path Deviation,Rate Limiter,Detections Consensus,Stability AI Inpainting,Roboflow Custom Metadata,QR Code Detection,Polygon Visualization,CogVLM,Velocity,Bounding Box Visualization,CLIP Embedding Model,Llama 3.2 Vision,Identify Outliers,Camera Focus,Email Notification,Dynamic Crop,Image Contours,Time in Zone,LMM For Classification,Buffer,Seg Preview,Segment Anything 2 Model,Stitch Images,Bounding Rectangle,Image Slicer,Line Counter,Byte Tracker,SAM 3,Distance Measurement,Roboflow Dataset Upload,Crop Visualization,Grid Visualization,Google Gemini,Stitch OCR Detections,Twilio SMS/MMS Notification,Reference Path Visualization,Multi-Label Classification Model,Data Aggregator,Image Slicer,Detections Classes Replacement,Detection Offset,Detections Transformation,Google Vision OCR,Camera Focus,Pixel Color Count,Model Comparison Visualization,Template Matching,Image Preprocessing,Twilio SMS Notification,Color Visualization,Polygon Zone Visualization,OpenAI,Halo Visualization,Instance Segmentation Model,Contrast Equalization,Byte Tracker,Mask Area Measurement,Google Gemini,Perspective Correction,Circle Visualization,Blur Visualization,Dot Visualization,Camera Calibration,Relative Static Crop,Email Notification,Depth Estimation,VLM As Detector,Mask Visualization,Dynamic Zone,Stability AI Image Generation,Detections Filter,Byte Tracker,Environment Secrets Store,Size Measurement,Halo Visualization,Absolute Static Crop,Detections Stitch,OCR Model,Label Visualization,Detections Merge,Motion Detection,Anthropic Claude,Stitch OCR Detections,Corner Visualization,Cache Set,Image Convert Grayscale,Expression,SIFT Comparison,SIFT Comparison,Detections List Roll-Up,SAM 3,VLM As Detector,Line Counter Visualization,SAM 3,VLM As Classifier,JSON Parser,PTZ Tracking (ONVIF),Slack Notification,Identify Changes,Model Monitoring Inference Aggregator,OpenAI - outputs:
Florence-2 Model,Trace Visualization,Roboflow Dataset Upload,Classification Label Visualization,Single-Label Classification Model,Line Counter,Ellipse Visualization,Triangle Visualization,Morphological Transformation,Path Deviation,LMM,Local File Sink,Icon Visualization,QR Code Generator,Stability AI Outpainting,OpenAI,Keypoint Detection Model,Moondream2,Florence-2 Model,Pixelate Visualization,Object Detection Model,Gaze Detection,Background Color Visualization,Clip Comparison,Time in Zone,Keypoint Detection Model,Keypoint Visualization,Perception Encoder Embedding Model,Image Blur,Polygon Visualization,Anthropic Claude,Webhook Sink,Object Detection Model,Cache Get,YOLO-World Model,Multi-Label Classification Model,Heatmap Visualization,Image Threshold,Google Gemini,Text Display,OpenAI,Instance Segmentation Model,Single-Label Classification Model,Anthropic Claude,Time in Zone,Path Deviation,Detections Consensus,Stability AI Inpainting,Roboflow Custom Metadata,Polygon Visualization,CogVLM,Bounding Box Visualization,CLIP Embedding Model,Llama 3.2 Vision,Email Notification,Dynamic Crop,Time in Zone,LMM For Classification,Seg Preview,Segment Anything 2 Model,Line Counter,SAM 3,Distance Measurement,Crop Visualization,Roboflow Dataset Upload,Reference Path Visualization,Google Gemini,Twilio SMS/MMS Notification,Multi-Label Classification Model,Stitch OCR Detections,Detections Classes Replacement,Google Vision OCR,Pixel Color Count,Template Matching,Model Comparison Visualization,Image Preprocessing,Twilio SMS Notification,Color Visualization,Polygon Zone Visualization,OpenAI,Halo Visualization,Instance Segmentation Model,Contrast Equalization,Google Gemini,Perspective Correction,Circle Visualization,Blur Visualization,Dot Visualization,Camera Calibration,Email Notification,Depth Estimation,Mask Visualization,Dynamic Zone,Stability AI Image Generation,Size Measurement,Halo Visualization,Detections Stitch,Label Visualization,Motion Detection,Anthropic Claude,Corner Visualization,Stitch OCR Detections,Cache Set,SIFT Comparison,SAM 3,Line Counter Visualization,SAM 3,PTZ Tracking (ONVIF),Slack Notification,Model Monitoring Inference Aggregator,OpenAI
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[image,list_of_values,string]): 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"
}