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.
Runtime compatibility¶
-
requires_internet— air-gapped / offline deployments - This block depends on a service that is not reachable from fully offline / air-gapped deployments.
-
soft— runtimehosted_serverless,dedicated_deployment; executionremote - Cooldown / rate-limit timer is stored in process memory. With remote step execution on stateless or multi-replica HTTP runtimes each request gets a fresh worker, so cooldown does not throttle. Cooldown only behaves as documented with local step execution inside an InferencePipeline.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to Twilio SMS/MMS Notification in version v2.
- inputs:
PLC Writer,Image Blur,Track Class Lock,Byte Tracker,Mask Edge Snap,VLM As Detector,Polygon Visualization,Roboflow Visual Search Classifier,Image Slicer,Qwen3.5-VL,Semantic Segmentation Model,Motion Detection,Keypoint Detection Model,Clip Comparison,Buffer,Label Visualization,MoonshotAI Kimi,Instance Segmentation Model,S3 Sink,Perception Encoder Embedding Model,Velocity,BoT-SORT Tracker,Detection Event Log,Single-Label Classification Model,OPC UA Writer Sink,CSV Formatter,Background Subtraction,Corner Visualization,Detection Offset,JSON Parser,Property Definition,Google Gemini,Seg Preview,Roboflow Custom Metadata,LMM For Classification,PP-OCR,SIFT Comparison,Color Visualization,Inner Workflow,Object Detection Model,Local File Sink,Llama 3.2 Vision,SAM3 Video Tracker,Dynamic Zone,Google Gemma API,Detections Filter,First Non Empty Or Default,Microsoft SQL Server Sink,Environment Secrets Store,Icon Visualization,PLC ModbusTCP,Detections Transformation,Rich Label Visualization,Identify Changes,Twilio SMS/MMS Notification,Qwen2.5-VL,OpenAI,Clip Comparison,OpenAI,Instance Segmentation Model,Expression,Stability AI Outpainting,Multi-Label Classification Model,Bounding Box Visualization,Absolute Static Crop,Reference Path Visualization,Google Gemini,Detections Stitch,Event Writer,CogVLM,Time in Zone,Email Notification,Current Time,Mask Area Measurement,Perspective Correction,Cosine Similarity,Detections List Roll-Up,Semantic Segmentation Model,Overlap Filter,Multi-Label Classification Model,Cache Get,OpenRouter,Detections Consensus,OCR Model,Per-Class Confidence Filter,Time in Zone,Relative Static Crop,SAM 3,ByteTrack Tracker,GLM-OCR,Florence-2 Model,Background Color Visualization,Qwen3.5,Roboflow Dataset Upload,Qwen 3.5 API,MoonshotAI Kimi,Stability AI Inpainting,Contrast Equalization,Image Threshold,Camera Focus,Line Counter,Instance Segmentation Model,Circle Visualization,QR Code Generator,Detections Merge,Detections Classes Replacement,Single-Label Classification Model,Heatmap Visualization,Cosmos 3,Auto Rotate on Edges,MQTT Writer,SAM 3,Line Counter,Image Stack,Grid Visualization,Florence-2 Model,PTZ Tracking (ONVIF),Byte Tracker,Pixelate Visualization,Path Deviation,Crop Visualization,Object Detection Model,Detections Stabilizer,Image Convert Grayscale,CLIP Embedding Model,Webhook Sink,VLM As Classifier,SAM 3 Interactive,YOLO-World Model,SIFT,OC-SORT Tracker,Slack Notification,PLC Reader,Stitch OCR Detections,Label Visualization,Email Notification,Keypoint Detection Model,Overlap Analysis,Pixel Color Count,Ellipse Visualization,Path Deviation,Stitch Images,Triangle Visualization,Qwen-VL,Distance Measurement,Bounding Rectangle,Camera Calibration,Polygon Zone Visualization,Delta Filter,Camera Focus,Trace Visualization,Llama 3.2 Vision,Dominant Color,Morphological Transformation,Continue If,SAM2 Video Tracker,Google Vision OCR,Google Gemma,Polygon Visualization,Keypoint Visualization,Image Slicer,OpenAI,Keypoint Detection Model,Object Detection Model,Qwen 3.6 API,Instance Segmentation Model,Single-Label Classification Model,Mask Visualization,Moondream2,Nearest Neighbor Detection Match,OpenAI-Compatible LLM,Byte Tracker,Roboflow Visual Search,VLM As Detector,Blur Visualization,Frame Delay,Roboflow Dataset Upload,OpenAI,Anthropic Claude,Switch Case,Cache Set,Stitch OCR Detections,VLM As Classifier,Barcode Detection,Contrast Enhancement,Template Matching,QR Code Detection,Halo Visualization,Dimension Collapse,Dynamic Crop,PLC EthernetIP,GeoTag Detection,Halo Visualization,Line Counter Visualization,Time in Zone,Roboflow Asset Library Attributes,Multi-Label Classification Model,Size Measurement,LMM,Depth Estimation,SIFT Comparison,Detections Combine,Dot Visualization,EasyOCR,Rate Limiter,Google Gemini,Data Aggregator,Image Contours,Segment Anything 2 Model,Morphological Transformation,SAM 3,Stability AI Image Generation,Google Gemini,Model Monitoring Inference Aggregator,Roboflow Vision Events,Twilio SMS Notification,Anthropic Claude,SORT Tracker,Image Preprocessing,Qwen3-VL,Gaze Detection,Anthropic Claude,Text Display,Model Comparison Visualization,Identify Outliers,Classification Label Visualization,SmolVLM2 - outputs:
PLC Writer,Image Blur,Path Deviation,Crop Visualization,Object Detection Model,Polygon Visualization,Roboflow Visual Search Classifier,Qwen3.5-VL,CLIP Embedding Model,Webhook Sink,Motion Detection,SAM 3 Interactive,Keypoint Detection Model,YOLO-World Model,Slack Notification,Label Visualization,MoonshotAI Kimi,Stitch OCR Detections,Label Visualization,Instance Segmentation Model,S3 Sink,Perception Encoder Embedding Model,Email Notification,Keypoint Detection Model,BoT-SORT Tracker,Pixel Color Count,Single-Label Classification Model,OPC UA Writer Sink,Ellipse Visualization,Path Deviation,Corner Visualization,Triangle Visualization,Qwen-VL,Distance Measurement,Camera Calibration,Google Gemini,Seg Preview,Polygon Zone Visualization,Roboflow Custom Metadata,LMM For Classification,SIFT Comparison,Trace Visualization,Object Detection Model,Color Visualization,Local File Sink,Llama 3.2 Vision,SAM3 Video Tracker,Llama 3.2 Vision,Dynamic Zone,Morphological Transformation,Google Vision OCR,Google Gemma API,Google Gemma,Microsoft SQL Server Sink,Polygon Visualization,Icon Visualization,Rich Label Visualization,Twilio SMS/MMS Notification,Keypoint Visualization,OpenAI,Object Detection Model,Keypoint Detection Model,OpenAI,Clip Comparison,Qwen 3.6 API,Instance Segmentation Model,Single-Label Classification Model,Mask Visualization,Moondream2,Nearest Neighbor Detection Match,OpenAI,OpenAI-Compatible LLM,Instance Segmentation Model,Roboflow Visual Search,Stability AI Outpainting,Blur Visualization,Multi-Label Classification Model,Bounding Box Visualization,Roboflow Dataset Upload,Reference Path Visualization,OpenAI,Anthropic Claude,Google Gemini,Detections Stitch,Event Writer,Cache Set,Stitch OCR Detections,CogVLM,Time in Zone,Email Notification,Current Time,Template Matching,Perspective Correction,Halo Visualization,Semantic Segmentation Model,Multi-Label Classification Model,Cache Get,OpenRouter,Dynamic Crop,Detections Consensus,Halo Visualization,Line Counter Visualization,Time in Zone,Time in Zone,Roboflow Asset Library Attributes,Multi-Label Classification Model,Size Measurement,LMM,Depth Estimation,SAM 3,Dot Visualization,GLM-OCR,Florence-2 Model,Background Color Visualization,Google Gemini,Roboflow Dataset Upload,Segment Anything 2 Model,Qwen 3.5 API,MoonshotAI Kimi,Stability AI Inpainting,Contrast Equalization,Morphological Transformation,Image Threshold,SAM 3,Line Counter,Stability AI Image Generation,Instance Segmentation Model,Circle Visualization,QR Code Generator,Google Gemini,Detections Classes Replacement,Roboflow Vision Events,Model Monitoring Inference Aggregator,Single-Label Classification Model,Heatmap Visualization,Twilio SMS Notification,Cosmos 3,Auto Rotate on Edges,MQTT Writer,SAM 3,Anthropic Claude,Image Preprocessing,Gaze Detection,Line Counter,Anthropic Claude,Text Display,Image Stack,PTZ Tracking (ONVIF),Model Comparison Visualization,Florence-2 Model,Classification Label Visualization,Pixelate Visualization
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[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"
}