// the find
danielberkompas/ex_twilio
Twilio API client for Elixir
ExTwilio is a community-maintained Elixir client for the Twilio REST API, covering calls, SMS, TaskRouter, ProgrammableChat, and JWT access tokens. It wraps Twilio's resource hierarchy in idiomatic Elixir modules with Stream support for pagination. If you're building a Phoenix app that needs Twilio, this is the library you'll reach for — there's no official Elixir SDK from Twilio.
The Stream-based pagination is genuinely useful — lazy enumeration over thousands of call records without blowing up memory. Resource coverage is wide: TaskRouter and ProgrammableChat are included, not just the basic calls/SMS endpoints. The `{:system, "ENV_VAR"}` config pattern is the right approach for keeping credentials out of source. Request signature validation is implemented, which matters if you're verifying Twilio webhook callbacks.
Last meaningful push was April 2024 and the README still warns this is 'beta software' — that disclaimer was probably written in 2015 and never removed, but the stale repo signals you'll be patching API drift yourself. Twilio's API has moved significantly: no Verify v2, no Conversations API, no Messaging Services support — the resource list reflects 2015-era Twilio, not current. The config system uses a custom `{:system, env_var}` tuple that predates `System.get_env/1` being idiomatic in mix configs, so it adds indirection for no gain on modern Elixir. Tests mock HTTP responses rather than using a test-mode abstraction, meaning API shape changes won't be caught until runtime.