Twilio Capabilities
Last updated: October 8, 2024
After this article...
You'll understand the capabilities our Twilio integration provides, and how Lumos interacts with the Twilio API.
View users
The mapping between Twilio user statuses and Lumos user account statuses is below.
Twilio User Status | Lumos Account Status |
active | Active |
suspended | Suspended |
closed | Deprovisioned |
Twilio API endpoint: https://www.twilio.com/docs/iam/api/account#list-all-accounts (we check the status field)
View a user's last activity
In Lumos, the Last Activity value for Twilio represents the last time the user did a cost-incurring activity.
Twilio API endpoint: https://www.twilio.com/docs/usage/api/usage-record (We use this end point to get all usage records tied to a user. If a usage record has a non-null and non-zero price, we use the end_date for that usage record as last activity. If multiple usage records are cost-incurring, we use the most recent end_date from all those usage records).
View a user's entitlements
Lumos can retrieve the following user entitlements from Twilio.
Account Type - A role indicating whether a Twilio account is a Trial account or has been upgraded to Full.
Account Services - A role indicating the services an account has used, such as Verify and Task Router.
Twilio API endpoints:
Account Type: https://www.twilio.com/docs/iam/api/account#account-properties (we use the type field)
Account Services: https://www.twilio.com/docs/usage/api/usage-record (We use this end point to get all usage records tied to a user. If a usage record has a non-null and non-zero price, we find the service the usage record’s category maps to.)
View a user's entitlement last activity
Lumos can retrieve last activity for the following types of user entitlements.
Account Services - The last activity for the services an account has used, such as Verify and Task Router.
Twilio API endpoints:
Account Services: https://www.twilio.com/docs/usage/api/usage-record (For each service, we consider last activity to be the max end_date of all the service’s usage records that have a non-null and non-zero price).
Suspend a user
AppStore | Offboarding | Access Reviews | License Management |
N/A | ✅ | ✅ | ✅ |
In Lumos, suspending a Twilio user marks their Account Status as "Suspended".
In Twilio, this action suspends the subaccount tied to the user being suspended. In Twilio, subaccounts that are suspended cannot make or receive phone calls or send and receive SMS messages. However, if a subaccount owns any phone numbers, the Twilio account owning the subaccount will continue to be charged monthly for those phone numbers.
Lumos supports suspending all users associated with a Twilio subaccount. If a user is associated with the account used to connect the Twilio integration, it cannot be suspended.
Twilio API endpoint: https://www.twilio.com/docs/iam/api/subaccounts#permanently-close-a-subaccount (We close a subaccount by updating the subaccount’s status to “suspended”.)
Deprovision a user
AppStore | Offboarding | Access Reviews | License Management |
N/A | ✅ | ✅ | ✅ |
In Lumos, deprovisioning a Twilio user marks their Account Status as "Deprovisioned".
In Twilio, this action permanently closes the subaccount tied to the user being deprovisioned. After thirty days, the subaccount is deleted.
Lumos supports deprovisioning all users associated with a Twilio subaccount. If a user is associated with the account used to connect the Twilio integration, it cannot be deprovisioned.
Twilio API endpoint: https://www.twilio.com/docs/iam/api/subaccounts#permanently-close-a-subaccount (We close a subaccount by updating the subaccount’s status to “closed”.)
FAQs
I set up the Twilio integration in Lumos, but I am not seeing any users populate. Why?
The Twilio API does not support the ingestion of "users," so Lumos instead brings in "subaccounts."