NAVIGATION
ELOWEN DOCUMENTATION

Last updated: 10 October 2026

Browse documentation · Twilio phone transport
Plugin reference

Twilio phone transport

Set up Twilio as the phone provider used by calling plugins, such as Meeting confirmation. An administrator configures the connection and grants the plugin to accounts that may place calls. The paying account also needs voice permission and available budget.

Settings

There is one host-rendered settings section, localized in English, Czech and Slovak. Required fields: accountSid, apiKeySid, apiKeySecret, callerNumber, pricePerMinuteUsd. SIDs must have the Twilio AC/SK format; the rate must be finite and nonnegative. apiKeySecret and optional authToken use the host's secret field. Region (us1 by default, ie1 Dublin, au1 Sydney) must match the region the API key was created in: a regional key authenticates only there, and api.twilio.com answers a Dublin key with 401 code 70051. The region selects the REST host for calls and the Lookup host for normalize (for ie1: api.dublin.ie1.twilio.com and lookups.dublin.ie1.twilio.com). Callback and media URLs are this instance's own, so signature checks do not depend on it. Each normalize/call operation validates the settings before placing a call. Saved changes take effect after Elowen restarts; active calls retain their starting configuration.

Price per minute shows USD beside the numeric input and retains a 0.0001 step, a zero minimum and required validation. Its rate guidance remains behind the help icon. The connection group starts closed and remembers your open or closed state.

Cost and retention

Calls are billed per started minute at the configured rate. Live voice and the assistant's conversation are charged separately. The call charge counts toward the paying account's monthly spend limit.

The configured rate should cover the most expensive destination plus Media Streams. It is charged per started minute; the per-call AMD fee is excluded. Reporting occurs after the call, so the next admission sees the cost. A reporting failure is logged and the actual call result still returns.

The plugin stores nothing persistently. Its transcript exists only in the operation result; the consuming plugin controls retention.