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