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