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