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.

messaging.whatsapp.twilio

Twilio-powered WhatsApp integration for inbound webhooks and outbound conversational messaging.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.messaging
  • Tags: messaging, whatsapp, twilio
  • field.key.label
    messaging.whatsapp.twilio
    field.version.label
    1.0.0
    field.type.label
    integration (integration)
    field.title.label
    messaging.whatsapp.twilio
    field.description.label

    Twilio-powered WhatsApp integration for inbound webhooks and outbound conversational messaging.

  • Type: integration (integration)
  • Version: 1.0.0
  • Owners: platform.messaging
  • Tags: messaging, whatsapp, twilio
  • field.tags.label
    messaging,whatsapp,twilio
    field.owners.label
    platform.messaging
    field.stability.label

    Twilio-powered WhatsApp integration for inbound webhooks and outbound conversational messaging.

    Source Definition

    export const messagingWhatsappTwilioIntegrationSpec = defineIntegration({
    	meta: {
    		key: 'messaging.whatsapp.twilio',
    		version: '1.0.0',
    		category: 'messaging',
    		title: 'WhatsApp via Twilio',
    		description:
    			'Twilio-powered WhatsApp integration for inbound webhooks and outbound conversational messaging.',
    		domain: 'communications',
    		owners: ['platform.messaging'],
    		tags: ['messaging', 'whatsapp', 'twilio'],
    		stability: StabilityEnum.Beta,
    	},
    	supportedModes: ['managed', 'byok'],
    	transports: [
    		{ type: 'rest', baseUrl: 'https://api.twilio.com' },
    		{
    			type: 'webhook',
    			inbound: {
    				signatureHeader: 'x-twilio-signature',
    				signingAlgorithm: 'hmac-sha1',
    			},
    		},
    	],
    	preferredTransport: 'rest',
    	supportedAuthMethods: [{ type: 'basic' }],
    	capabilities: {
    		provides: [
    			{ key: 'messaging.inbound', version: '1.0.0' },
    			{ key: 'messaging.outbound', version: '1.0.0' },
    		],
    	},
    	configSchema: {
    		schema: {
    			type: 'object',
    			properties: {
    				fromNumber: {
    					type: 'string',
    					description:
    						'Default WhatsApp-enabled Twilio sender number (e.g. whatsapp:+15551234567).',
    				},
    			},
    		},
    		example: {
    			fromNumber: 'whatsapp:+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: '***',
    		},
    	},
    	healthCheck: {
    		method: 'custom',
    		timeoutMs: 4000,
    	},
    	docsUrl: 'https://www.twilio.com/docs/whatsapp',
    	constraints: {
    		rateLimit: {
    			rpm: 200,
    		},
    	},
    	byokSetup: {
    		setupInstructions:
    			'Create a Twilio project with WhatsApp sender provisioning, then provide account SID/auth token and sender number.',
    		keyRotationSupported: true,
    		quotaTrackingSupported: false,
    	},
    });