OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

sms.twilio

Twilio SMS integration for transactional and notification messaging.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.messaging
  • Tags: sms, messaging
  • File: packages/libs/contracts-integrations/src/integrations/providers/twilio-sms.ts
  • field.key.label
    sms.twilio
    field.version.label
    1.0.0
    field.type.label
    integration (integration)
    field.title.label
    sms.twilio
    field.description.label

    Twilio SMS integration for transactional and notification messaging.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.messaging
  • Tags: sms, messaging
  • File: packages/libs/contracts-integrations/src/integrations/providers/twilio-sms.ts
  • field.tags.label
    sms,messaging
    field.owners.label
    platform.messaging
    field.stability.label

    Twilio SMS integration for transactional and notification messaging.

    Source Definition

    export const twilioSmsIntegrationSpec = defineIntegration({
    	meta: {
    		key: 'sms.twilio',
    		version: '1.0.0',
    		category: 'sms',
    		title: 'Twilio Messaging',
    		description:
    			'Twilio SMS integration for transactional and notification messaging.',
    		domain: 'communications',
    		owners: ['platform.messaging'],
    		tags: ['sms', 'messaging'],
    		stability: StabilityEnum.Stable,
    	},
    	supportedModes: ['managed', 'byok'],
    	transports: [
    		{ type: 'rest', baseUrl: 'https://api.twilio.com' },
    		{
    			type: 'webhook',
    			inbound: {
    				signatureHeader: 'x-twilio-signature',
    				signingAlgorithm: 'hmac-sha1',
    			},
    		},
    		{ type: 'sdk', packageName: 'twilio', minVersion: '5.0.0' },
    	],
    	preferredTransport: 'rest',
    	supportedAuthMethods: [{ type: 'basic' }],
    	capabilities: {
    		provides: [{ key: 'sms.outbound', version: '1.0.0' }],
    	},
    	configSchema: {
    		schema: {
    			type: 'object',
    			properties: {
    				fromNumber: {
    					type: 'string',
    					description: 'Default Twilio phone number used as sender.',
    				},
    			},
    		},
    		example: {
    			fromNumber: '+15551234567',
    		},
    	},
    	secretSchema: {
    		schema: {
    			type: 'object',
    			required: ['accountSid', 'authToken'],
    			properties: {
    				accountSid: {
    					type: 'string',
    					description: 'Twilio Account SID.',
    				},
    				authToken: {
    					type: 'string',
    					description: 'Twilio Auth Token.',
    				},
    			},
    		},
    		example: {
    			accountSid: 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    			authToken: 'auth-token',
    		},
    	},
    	healthCheck: {
    		method: 'custom',
    		timeoutMs: 3000,
    	},
    	docsUrl: 'https://www.twilio.com/docs/sms/api',
    	constraints: {
    		rateLimit: {
    			rpm: 200,
    		},
    	},
    	byokSetup: {
    		setupInstructions:
    			'Provide a Twilio account SID, auth token, and verify the outbound sending numbers used by the integration.',
    		keyRotationSupported: true,
    		quotaTrackingSupported: false,
    	},
    });