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