Changelog
53 releases
Track the latest product updates, fixes, and platform improvements across Surge.
Private attachment access setting
Projects can now disable public attachment access and require authenticated access for attachment files. This goes hand in hand with our get attachment file endpoint that we shipped last week.
Projects can now disable public attachment access and require authenticated access for attachment files. This goes hand in hand with our get attachment file endpoint that we shipped last week.
Private attachment access setting
Projects can now disable public attachment access and require authenticated access for attachment files. This goes hand in hand with our get attachment file endpoint that we shipped last week.
Projects can now disable public attachment access and require authenticated access for attachment files. This goes hand in hand with our get attachment file endpoint that we shipped last week.
API log status filtering
API logs can now be filtered by success or failed status, making it easier to investigate request history.
API logs can now be filtered by success or failed status, making it easier to investigate request history.
API log status filtering
API logs can now be filtered by success or failed status, making it easier to investigate request history.
API logs can now be filtered by success or failed status, making it easier to investigate request history.
Faster inbox unread counts
Queries for our embedded inbox component were optimized, resulting in a 68% reduction in average load time. You should now see much faster page loads and updates.
Queries for our embedded inbox component were optimized, resulting in a 68% reduction in average load time. You should now see much faster page loads and updates.
Faster inbox unread counts
Queries for our embedded inbox component were optimized, resulting in a 68% reduction in average load time. You should now see much faster page loads and updates.
Queries for our embedded inbox component were optimized, resulting in a 68% reduction in average load time. You should now see much faster page loads and updates.
Historical pricing on usage reports
Saved usage reports now use the pricing plan that was active during the report period instead of always showing current pricing. This should make historical usage reports more accurate.
Saved usage reports now use the pricing plan that was active during the report period instead of always showing current pricing. This should make historical usage reports more accurate.
Historical pricing on usage reports
Saved usage reports now use the pricing plan that was active during the report period instead of always showing current pricing. This should make historical usage reports more accurate.
Saved usage reports now use the pricing plan that was active during the report period instead of always showing current pricing. This should make historical usage reports more accurate.
Phone number names
Phone numbers can now be named, and the name will be visible across the UI, API, and webhook payloads. See the purchase phone number endpoint in the documentation for more details.
Phone numbers can now be named, and the name will be visible across the UI, API, and webhook payloads. See the purchase phone number endpoint in the documentation for more details.
Phone number names
Phone numbers can now be named, and the name will be visible across the UI, API, and webhook payloads. See the purchase phone number endpoint in the documentation for more details.
Phone numbers can now be named, and the name will be visible across the UI, API, and webhook payloads. See the purchase phone number endpoint in the documentation for more details.
MFA enforcement
While we've had multi-factor auth as an option for a long time, we now have the ability to enforce MFA in projects. If you would like to require MFA for all members of your project, please reach out to support.
While we've had multi-factor auth as an option for a long time, we now have the ability to enforce MFA in projects. If you would like to require MFA for all members of your project, please reach out to support.
MFA enforcement
While we've had multi-factor auth as an option for a long time, we now have the ability to enforce MFA in projects. If you would like to require MFA for all members of your project, please reach out to support.
While we've had multi-factor auth as an option for a long time, we now have the ability to enforce MFA in projects. If you would like to require MFA for all members of your project, please reach out to support.
Authenticated attachment retrieval
A new authenticated API endpoint is available for retrieving attachment files, providing a more secure alternative to public attachment URLs. See the get attachment file endpoint in our documentation for more details.
A new authenticated API endpoint is available for retrieving attachment files, providing a more secure alternative to public attachment URLs. See the get attachment file endpoint in our documentation for more details.
Authenticated attachment retrieval
A new authenticated API endpoint is available for retrieving attachment files, providing a more secure alternative to public attachment URLs. See the get attachment file endpoint in our documentation for more details.
A new authenticated API endpoint is available for retrieving attachment files, providing a more secure alternative to public attachment URLs. See the get attachment file endpoint in our documentation for more details.
Automatic idle logout
Surge can now automatically warn and log users out after 15 minutes of inactivity for stronger account security. Please reach out to support if you would like to have this enabled for your account.
Surge can now automatically warn and log users out after 15 minutes of inactivity for stronger account security. Please reach out to support if you would like to have this enabled for your account.
Automatic idle logout
Surge can now automatically warn and log users out after 15 minutes of inactivity for stronger account security. Please reach out to support if you would like to have this enabled for your account.
Surge can now automatically warn and log users out after 15 minutes of inactivity for stronger account security. Please reach out to support if you would like to have this enabled for your account.
Richer link click webhooks
link.followed webhook events now include the full message object instead of only a message ID. This means any metadata stored on the message, along with all other message details, will be present on those webhook events to make it easier for you to track conversion for your messages and blasts.
link.followed webhook events now include the full message object instead of only a message ID. This means any metadata stored on the message, along with all other message details, will be present on those webhook events to make it easier for you to track conversion for your messages and blasts.
Richer link click webhooks
link.followed webhook events now include the full message object instead of only a message ID. This means any metadata stored on the message, along with all other message details, will be present on those webhook events to make it easier for you to track conversion for your messages and blasts.
link.followed webhook events now include the full message object instead of only a message ID. This means any metadata stored on the message, along with all other message details, will be present on those webhook events to make it easier for you to track conversion for your messages and blasts.
Updates shipped on April 7, 2026.
Undeliverable number detection
Feature
Surge now tracks permanently undeliverable destinations and blocks future sends to numbers that are known to fail, with sender-type-specific handling for local, toll-free, and short code traffic. This should save you money as you will no longer be charged for those messages.
Multiple AI agent API keys
Feature
Projects can now manage multiple named AI agent API keys and choose which key to use when configuring a phone number integration. This allows you to set up multiple AI agent platforms within your project or even within the same account.
Updates shipped on April 7, 2026.
Undeliverable number detection
Feature
Surge now tracks permanently undeliverable destinations and blocks future sends to numbers that are known to fail, with sender-type-specific handling for local, toll-free, and short code traffic. This should save you money as you will no longer be charged for those messages.
Multiple AI agent API keys
Feature
Projects can now manage multiple named AI agent API keys and choose which key to use when configuring a phone number integration. This allows you to set up multiple AI agent platforms within your project or even within the same account.
More reliable attachment handling
Inbound MMS attachments with unrecognized MIME types no longer fail during ingestion. Surge now stores them without guessing a file extension.
Inbound MMS attachments with unrecognized MIME types no longer fail during ingestion. Surge now stores them without guessing a file extension.
More reliable attachment handling
Inbound MMS attachments with unrecognized MIME types no longer fail during ingestion. Surge now stores them without guessing a file extension.
Inbound MMS attachments with unrecognized MIME types no longer fail during ingestion. Surge now stores them without guessing a file extension.
Campaign update API
Campaigns created through the API can now be updated with a new PATCH /campaigns/{campaign_id} endpoint. See the update campaign endpoint in the documentation for more details.
Campaigns created through the API can now be updated with a new PATCH /campaigns/{campaign_id} endpoint. See the update campaign endpoint in the documentation for more details.
Campaign update API
Campaigns created through the API can now be updated with a new PATCH /campaigns/{campaign_id} endpoint. See the update campaign endpoint in the documentation for more details.
Campaigns created through the API can now be updated with a new PATCH /campaigns/{campaign_id} endpoint. See the update campaign endpoint in the documentation for more details.
Updates shipped on April 1, 2026.
Audience management API
Feature
The API now supports creating audiences and adding contacts to audiences, making audience management available without using the UI. See the create audience and add contact to audience endpoints in the docs for more details.
Phone number selector for blasts
Feature
When sending a Blast through our API, it was already possible to provide the phone number from which the Blast should be sent. HQ didn't previously support that feature though, so we've now added a dropdown so that you can select which phone number should send the Blast when sending through our UI.
Updates shipped on April 1, 2026.
Audience management API
Feature
The API now supports creating audiences and adding contacts to audiences, making audience management available without using the UI. See the create audience and add contact to audience endpoints in the docs for more details.
Phone number selector for blasts
Feature
When sending a Blast through our API, it was already possible to provide the phone number from which the Blast should be sent. HQ didn't previously support that feature though, so we've now added a dropdown so that you can select which phone number should send the Blast when sending through our UI.
Retell integration
We've now added Retell as a supported AI agent platform for Voice. On the phone number settings page, you can select to have inbound calls handled by an AI agent, then select Retell as your platform of choice. By providing your Retell API key, we will import your Surge phone number into Retell for you so that your Retell agent can make and receive calls using your Surge phone number.
We've now added Retell as a supported AI agent platform for Voice. On the phone number settings page, you can select to have inbound calls handled by an AI agent, then select Retell as your platform of choice. By providing your Retell API key, we will import your Surge phone number into Retell for you so that your Retell agent can make and receive calls using your Surge phone number.
Retell integration
We've now added Retell as a supported AI agent platform for Voice. On the phone number settings page, you can select to have inbound calls handled by an AI agent, then select Retell as your platform of choice. By providing your Retell API key, we will import your Surge phone number into Retell for you so that your Retell agent can make and receive calls using your Surge phone number.
We've now added Retell as a supported AI agent platform for Voice. On the phone number settings page, you can select to have inbound calls handled by an AI agent, then select Retell as your platform of choice. By providing your Retell API key, we will import your Surge phone number into Retell for you so that your Retell agent can make and receive calls using your Surge phone number.
Improved reliability for ElevenLabs agents
For phone calls through the ElevenLabs agent platform, we had some issues where calls were cut short when we deployed a change to our servers. That has now been fixed, so ElevenLabs agent calls should now be more reliable.
For phone calls through the ElevenLabs agent platform, we had some issues where calls were cut short when we deployed a change to our servers. That has now been fixed, so ElevenLabs agent calls should now be more reliable.
Improved reliability for ElevenLabs agents
For phone calls through the ElevenLabs agent platform, we had some issues where calls were cut short when we deployed a change to our servers. That has now been fixed, so ElevenLabs agent calls should now be more reliable.
For phone calls through the ElevenLabs agent platform, we had some issues where calls were cut short when we deployed a change to our servers. That has now been fixed, so ElevenLabs agent calls should now be more reliable.
Canadian account creation through the API
While Canadian accounts could previously be created manually through HQ, we've now added the ability to create Canadian accounts through the API as well. Accounts in Canada will need to have a valid Canadian Business Number instead of an EIN. You can validate the business number beforehand using Canada's Business Registries and Federal Corporation Search. If the business was registered provincially or doesn't appear in either of the registries, a special registration process will be needed which requires additional fees. Reach out to support for more information.
While Canadian accounts could previously be created manually through HQ, we've now added the ability to create Canadian accounts through the API as well.
Accounts in Canada will need to have a valid Canadian Business Number instead of an EIN. You can validate the business number beforehand using Canada's Business Registries and Federal Corporation Search. If the business was registered provincially or doesn't appear in either of the registries, a special registration process will be needed which requires additional fees. Reach out to support for more information.
Canadian account creation through the API
While Canadian accounts could previously be created manually through HQ, we've now added the ability to create Canadian accounts through the API as well. Accounts in Canada will need to have a valid Canadian Business Number instead of an EIN. You can validate the business number beforehand using Canada's Business Registries and Federal Corporation Search. If the business was registered provincially or doesn't appear in either of the registries, a special registration process will be needed which requires additional fees. Reach out to support for more information.
While Canadian accounts could previously be created manually through HQ, we've now added the ability to create Canadian accounts through the API as well.
Accounts in Canada will need to have a valid Canadian Business Number instead of an EIN. You can validate the business number beforehand using Canada's Business Registries and Federal Corporation Search. If the business was registered provincially or doesn't appear in either of the registries, a special registration process will be needed which requires additional fees. Reach out to support for more information.
2 updates shipped
Message clustering in the embedded components • Record outbound calls
Updates shipped on March 24, 2026.
Message clustering in the embedded components
Improvement
We've updated the embedded components to use message clustering similar to the way iMessage does it. Messages sent within a minute of each other will be grouped together with less spacing than normal, and messages sent within an hour of each other will be grouped under a date/time header. This helps to declutter the conversation view and provide a more familiar interface for customers.
Right now this new functionality is disabled by default. If you would like it enabled for your project, please reach out to support. Once we've tested it thoroughly, we will enable it for all projects.
Record outbound calls
Feature · Private beta
For users in our private beta for recording calls, you now have the ability to always record outbound calls as well as inbound calls. In the phone number settings, you will see a new "Record outbound calls" checkbox right below the "Record inbound calls" checkbox.
Currently this functionality can only be enabled or disabled for all calls. We have no way to override it on a specific call yet.
2 updates shipped
Message clustering in the embedded components • Record outbound calls
Updates shipped on March 24, 2026.
Message clustering in the embedded components
Improvement
We've updated the embedded components to use message clustering similar to the way iMessage does it. Messages sent within a minute of each other will be grouped together with less spacing than normal, and messages sent within an hour of each other will be grouped under a date/time header. This helps to declutter the conversation view and provide a more familiar interface for customers.
Right now this new functionality is disabled by default. If you would like it enabled for your project, please reach out to support. Once we've tested it thoroughly, we will enable it for all projects.
Record outbound calls
Feature · Private beta
For users in our private beta for recording calls, you now have the ability to always record outbound calls as well as inbound calls. In the phone number settings, you will see a new "Record outbound calls" checkbox right below the "Record inbound calls" checkbox.
Currently this functionality can only be enabled or disabled for all calls. We have no way to override it on a specific call yet.
List users endpoint
We have added an endpoint for listing all of the users in an account. See the documentation for the list users endpoint for more information.
We have added an endpoint for listing all of the users in an account. See the documentation for the list users endpoint for more information.
List users endpoint
We have added an endpoint for listing all of the users in an account. See the documentation for the list users endpoint for more information.
We have added an endpoint for listing all of the users in an account. See the documentation for the list users endpoint for more information.
Fixed bug with foreign number purchasing via API
When an area code was provided to the API for purchasing a phone number, and that area code is associated with a country or territory outside the US (like the 345 area code for the Cayman Islands), our system was returning an unknown error. We will now handle that properly and return an error explaining that the area code is not valid.
When an area code was provided to the API for purchasing a phone number, and that area code is associated with a country or territory outside the US (like the 345 area code for the Cayman Islands), our system was returning an unknown error. We will now handle that properly and return an error explaining that the area code is not valid.
Fixed bug with foreign number purchasing via API
When an area code was provided to the API for purchasing a phone number, and that area code is associated with a country or territory outside the US (like the 345 area code for the Cayman Islands), our system was returning an unknown error. We will now handle that properly and return an error explaining that the area code is not valid.
When an area code was provided to the API for purchasing a phone number, and that area code is associated with a country or territory outside the US (like the 345 area code for the Cayman Islands), our system was returning an unknown error. We will now handle that properly and return an error explaining that the area code is not valid.
Updates shipped on March 20, 2026.
Get recording and list recordings endpoints
Feature
We've added new endpoints for getting a recording or listing all the recordings in an account. This will be especially helpful for making sure that you've deleted all recordings if you don't want to pay Surge to store them for you. See the documentation for the get recording endpoint and list recordings endpoint for more information.
Call groups
Feature · Private beta
For projects in the beta for our embeddable softphone, you can now route inbound calls to a list of multiple users instead of just a single user. When you do this, all users' softphones will ring simultaneously, and the first user to answer the call will receive it.
Updates shipped on March 20, 2026.
Get recording and list recordings endpoints
Feature
We've added new endpoints for getting a recording or listing all the recordings in an account. This will be especially helpful for making sure that you've deleted all recordings if you don't want to pay Surge to store them for you. See the documentation for the get recording endpoint and list recordings endpoint for more information.
Call groups
Feature · Private beta
For projects in the beta for our embeddable softphone, you can now route inbound calls to a list of multiple users instead of just a single user. When you do this, all users' softphones will ring simultaneously, and the first user to answer the call will receive it.
Show message metadata in the API
Some code paths for creating a message weren't saving message metadata properly, and the metadata wasn't being returned in the API responses. This has been fixed so that message metadata will now work as expected.
Some code paths for creating a message weren't saving message metadata properly, and the metadata wasn't being returned in the API responses. This has been fixed so that message metadata will now work as expected.
Show message metadata in the API
Some code paths for creating a message weren't saving message metadata properly, and the metadata wasn't being returned in the API responses. This has been fixed so that message metadata will now work as expected.
Some code paths for creating a message weren't saving message metadata properly, and the metadata wasn't being returned in the API responses. This has been fixed so that message metadata will now work as expected.
Provide phone number to embedded softphone
Our embedded softphone component will now take a phonenumberid parameter to allow you to specify the phone number from which any outbound calls should be made.
Our embedded softphone component will now take a phone_number_id parameter to allow you to specify the phone number from which any outbound calls should be made.
Available in private beta.
Provide phone number to embedded softphone
Our embedded softphone component will now take a phonenumberid parameter to allow you to specify the phone number from which any outbound calls should be made.
Our embedded softphone component will now take a phone_number_id parameter to allow you to specify the phone number from which any outbound calls should be made.
Available in private beta.
Added phone_number.attached_to_campaign webhook event
Our existing campaign.approved webhook event notifies you when a campaign has been approved, but each phone number needs to be attached to a campaign as well before it can begin sending. Now we've added a phonenumber.attachedto_campaign webhook event as well so that you can be notified when phone number attachment is complete. See the documentation for the new webhook event for more information.
Our existing campaign.approved webhook event notifies you when a campaign has been approved, but each phone number needs to be attached to a campaign as well before it can begin sending.
Now we've added a phone_number.attached_to_campaign webhook event as well so that you can be notified when phone number attachment is complete. See the documentation for the new webhook event for more information.
Added phone_number.attached_to_campaign webhook event
Our existing campaign.approved webhook event notifies you when a campaign has been approved, but each phone number needs to be attached to a campaign as well before it can begin sending. Now we've added a phonenumber.attachedto_campaign webhook event as well so that you can be notified when phone number attachment is complete. See the documentation for the new webhook event for more information.
Our existing campaign.approved webhook event notifies you when a campaign has been approved, but each phone number needs to be attached to a campaign as well before it can begin sending.
Now we've added a phone_number.attached_to_campaign webhook event as well so that you can be notified when phone number attachment is complete. See the documentation for the new webhook event for more information.
Simplify account switching
For platform customers with many accounts, finding the account you needed would often require ⌘+F to make it work. We've now added a search input on both our accounts page and the account switcher on our other pages so that you can easily find the account you need. In addition, we've changed both the switcher and the accounts page to display the accounts in alphabetical order so that you can more easily scan through them.
For platform customers with many accounts, finding the account you needed would often require ⌘+F to make it work. We've now added a search input on both our accounts page and the account switcher on our other pages so that you can easily find the account you need. In addition, we've changed both the switcher and the accounts page to display the accounts in alphabetical order so that you can more easily scan through them.
Simplify account switching
For platform customers with many accounts, finding the account you needed would often require ⌘+F to make it work. We've now added a search input on both our accounts page and the account switcher on our other pages so that you can easily find the account you need. In addition, we've changed both the switcher and the accounts page to display the accounts in alphabetical order so that you can more easily scan through them.
For platform customers with many accounts, finding the account you needed would often require ⌘+F to make it work. We've now added a search input on both our accounts page and the account switcher on our other pages so that you can easily find the account you need. In addition, we've changed both the switcher and the accounts page to display the accounts in alphabetical order so that you can more easily scan through them.
Move phone numbers to another account
We have added a new API endpoint for moving a phone number to another account under your project.
We have added a new API endpoint for moving a phone number to another account under your project.
Available in private beta.
Move phone numbers to another account
We have added a new API endpoint for moving a phone number to another account under your project.
We have added a new API endpoint for moving a phone number to another account under your project.
Available in private beta.
Purchase Canadian phone numbers
For our customers in Canada (or who have their own customers in Canada), you will now be able to purchase Canadian phone numbers both through HQ and our API. In HQ you will need to switch the country in the picker on the page for purchasing a phone number, and then you can also search for Canadian area codes. With our API, you will need to provide a Canadian area code, and then if we have any inventory in that area code, the number will be purchased.
For our customers in Canada (or who have their own customers in Canada), you will now be able to purchase Canadian phone numbers both through HQ and our API. In HQ you will need to switch the country in the picker on the page for purchasing a phone number, and then you can also search for Canadian area codes. With our API, you will need to provide a Canadian area code, and then if we have any inventory in that area code, the number will be purchased.
Purchase Canadian phone numbers
For our customers in Canada (or who have their own customers in Canada), you will now be able to purchase Canadian phone numbers both through HQ and our API. In HQ you will need to switch the country in the picker on the page for purchasing a phone number, and then you can also search for Canadian area codes. With our API, you will need to provide a Canadian area code, and then if we have any inventory in that area code, the number will be purchased.
For our customers in Canada (or who have their own customers in Canada), you will now be able to purchase Canadian phone numbers both through HQ and our API. In HQ you will need to switch the country in the picker on the page for purchasing a phone number, and then you can also search for Canadian area codes. With our API, you will need to provide a Canadian area code, and then if we have any inventory in that area code, the number will be purchased.
Updates shipped on February 25, 2026.
Renamed Segments to Audiences
Improvement
For those of you using segments to segment the contacts in your account, we have now renamed segments to audiences. This is because segments is also used to refer to SMS segments, and we wanted to separate the terms to make it easier to clarify what was being discussed. There are no breaking changes to the API because we have not yet exposed endpoints for segments, but we will create new audience endpoints soon.
Paginated audience contacts page
Improvement
Since adding blasts and segments in 2024, we haven't made many improvements to it. It's been a long time coming, but we finally added pagination to the audience contacts page in HQ so that the page will load a lot faster and not crash your browser if you have an audience with thousands of contacts.
Updates shipped on February 25, 2026.
Renamed Segments to Audiences
Improvement
For those of you using segments to segment the contacts in your account, we have now renamed segments to audiences. This is because segments is also used to refer to SMS segments, and we wanted to separate the terms to make it easier to clarify what was being discussed. There are no breaking changes to the API because we have not yet exposed endpoints for segments, but we will create new audience endpoints soon.
Paginated audience contacts page
Improvement
Since adding blasts and segments in 2024, we haven't made many improvements to it. It's been a long time coming, but we finally added pagination to the audience contacts page in HQ so that the page will load a lot faster and not crash your browser if you have an audience with thousands of contacts.
Added self-serve billing page
We just added a new billing settings page. By clicking your name in the bottom left corner of the screen on desktop, or your avatar in the top right on mobile, you can then select "Billing." This page will allow you to view and download your past invoices, change or cancel your usage commitment, or update the payment method on file for your project.
We just added a new billing settings page. By clicking your name in the bottom left corner of the screen on desktop, or your avatar in the top right on mobile, you can then select "Billing." This page will allow you to view and download your past invoices, change or cancel your usage commitment, or update the payment method on file for your project.
Added self-serve billing page
We just added a new billing settings page. By clicking your name in the bottom left corner of the screen on desktop, or your avatar in the top right on mobile, you can then select "Billing." This page will allow you to view and download your past invoices, change or cancel your usage commitment, or update the payment method on file for your project.
We just added a new billing settings page. By clicking your name in the bottom left corner of the screen on desktop, or your avatar in the top right on mobile, you can then select "Billing." This page will allow you to view and download your past invoices, change or cancel your usage commitment, or update the payment method on file for your project.
Updates shipped on February 23, 2026.
Handle Canadian campaign registrations
Feature
Our UI is now set up to enable Canadian entities to register campaigns through the dashboard. The necessary changes will be made to the API as well in the near future.
Password visibility toggle
Feature
We've added a password visibility toggle to the login, registration, and change password screens so that you'll be able to see your password if necessary.
Updates shipped on February 23, 2026.
Handle Canadian campaign registrations
Feature
Our UI is now set up to enable Canadian entities to register campaigns through the dashboard. The necessary changes will be made to the API as well in the near future.
Password visibility toggle
Feature
We've added a password visibility toggle to the login, registration, and change password screens so that you'll be able to see your password if necessary.
Updates shipped on February 20, 2026.
Added metadata to message webhooks
Improvement
We previously added a metadata field to messages to allow you to pass information from your system when sending a message. However, we forgot to add that to the message webhooks (message.received, message.delivered, message.sent, and message.failed). That will now be included on those webhooks.
List campaigns endpoint
Feature
We've added a new endpoint for listing the campaigns in an account. For more information, see the documentation for the list campaigns endpoint.
Updates shipped on February 20, 2026.
Added metadata to message webhooks
Improvement
We previously added a metadata field to messages to allow you to pass information from your system when sending a message. However, we forgot to add that to the message webhooks (message.received, message.delivered, message.sent, and message.failed). That will now be included on those webhooks.
List campaigns endpoint
Feature
We've added a new endpoint for listing the campaigns in an account. For more information, see the documentation for the list campaigns endpoint.
Use system theme when no user is present
Pages where no user was logged in previously used light mode by default, whereas pages with a logged in user would use dark mode. Sorry for burning your eyes. We will now use your system theme everywhere in HQ.
Pages where no user was logged in previously used light mode by default, whereas pages with a logged in user would use dark mode. Sorry for burning your eyes. We will now use your system theme everywhere in HQ.
Use system theme when no user is present
Pages where no user was logged in previously used light mode by default, whereas pages with a logged in user would use dark mode. Sorry for burning your eyes. We will now use your system theme everywhere in HQ.
Pages where no user was logged in previously used light mode by default, whereas pages with a logged in user would use dark mode. Sorry for burning your eyes. We will now use your system theme everywhere in HQ.
Updates shipped on February 16, 2026.
Delete recordings
Feature · Private beta
We've now added an endpoint to allow you to delete recordings. This will allow you to remove them from Surge's storage so that you won't be billed for them, or in case you want them deleted for privacy reasons. See the documentation for the delete recording endpoint for more details.
Attachment type is now an enum
Improvement
The attachment type field was previously listed as a string in our OpenAPI spec. We've now updated that to be an enum so that it's clear what the possible values are. See the documentation for the attachment type field for more information.
Updates shipped on February 16, 2026.
Delete recordings
Feature · Private beta
We've now added an endpoint to allow you to delete recordings. This will allow you to remove them from Surge's storage so that you won't be billed for them, or in case you want them deleted for privacy reasons. See the documentation for the delete recording endpoint for more details.
Attachment type is now an enum
Improvement
The attachment type field was previously listed as a string in our OpenAPI spec. We've now updated that to be an enum so that it's clear what the possible values are. See the documentation for the attachment type field for more information.
Email notifications are now more reliable
Historically we've sent emails directly to our email provider, but we were seeing several issues where their server didn't accept the email and it never got sent. We've now cloned our SMS messaging queue infrastructure for emails so that failed emails will automatically be retried, and we can guarantee that email notifications are delivered at least once.
Historically we've sent emails directly to our email provider, but we were seeing several issues where their server didn't accept the email and it never got sent. We've now cloned our SMS messaging queue infrastructure for emails so that failed emails will automatically be retried, and we can guarantee that email notifications are delivered at least once.
Email notifications are now more reliable
Historically we've sent emails directly to our email provider, but we were seeing several issues where their server didn't accept the email and it never got sent. We've now cloned our SMS messaging queue infrastructure for emails so that failed emails will automatically be retried, and we can guarantee that email notifications are delivered at least once.
Historically we've sent emails directly to our email provider, but we were seeing several issues where their server didn't accept the email and it never got sent. We've now cloned our SMS messaging queue infrastructure for emails so that failed emails will automatically be retried, and we can guarantee that email notifications are delivered at least once.
Updates shipped on February 10, 2026.
Export usage as CSV
Feature
You can now export your usage as a CSV. While this won't be a big deal for those of you with single-account projects, for our customers with many accounts, this will allow you to get the breakdown of line items for all of your accounts in a single CSV so that you can easily break down usage by accounts for attributing costs.
Let us know if there's anything else you'd like to see in that CSV or anywhere else you'd like to see similar export buttons.
Record calls
Feature · Private beta
We now allow you to record your incoming calls. By enabling this feature the call will be recorded and we will send you a recording.completed webhook as soon as the recording has been processed and stored. You can then download the recording.
Please note that you are responsible for compliance with federal and state laws surrounding recording phone calls.
Updates shipped on February 10, 2026.
Export usage as CSV
Feature
You can now export your usage as a CSV. While this won't be a big deal for those of you with single-account projects, for our customers with many accounts, this will allow you to get the breakdown of line items for all of your accounts in a single CSV so that you can easily break down usage by accounts for attributing costs.
Let us know if there's anything else you'd like to see in that CSV or anywhere else you'd like to see similar export buttons.
Record calls
Feature · Private beta
We now allow you to record your incoming calls. By enabling this feature the call will be recorded and we will send you a recording.completed webhook as soon as the recording has been processed and stored. You can then download the recording.
Please note that you are responsible for compliance with federal and state laws surrounding recording phone calls.
Updates shipped on February 7, 2026.
Get campaign endpoint
Feature
We added a new endpoint for getting a campaign. This will allow you to check the details of a campaign that you've previously submitted, as well as check the status of the campaign. See the documentation for the get campaign endpoint for more details.
Return error for opted out verifications
Bugfix
Verifications still require that recipients be able to opt out of receiving messages. In the event that a Verification is created and the recipient has opted out of receiving messages, we will now return an error response with instructions for the recipient to opt back in, rather than failing silently as we did before. An error response will look something like this:
{
"error": {
"type": "opted_out",
"message": "This number has opted out of receiving verification messages. Send START to (801) 555-1234 to opt in again."
}
}Updates shipped on February 7, 2026.
Get campaign endpoint
Feature
We added a new endpoint for getting a campaign. This will allow you to check the details of a campaign that you've previously submitted, as well as check the status of the campaign. See the documentation for the get campaign endpoint for more details.
Return error for opted out verifications
Bugfix
Verifications still require that recipients be able to opt out of receiving messages. In the event that a Verification is created and the recipient has opted out of receiving messages, we will now return an error response with instructions for the recipient to opt back in, rather than failing silently as we did before. An error response will look something like this:
{
"error": {
"type": "opted_out",
"message": "This number has opted out of receiving verification messages. Send START to (801) 555-1234 to opt in again."
}
}Outbound Caller Registration
For our customers making outbound calls, we can now register your business with the carriers to avoid the "Spam Likely" label on outbound calls.
For our customers making outbound calls, we can now register your business with the carriers to avoid the "Spam Likely" label on outbound calls.
Available in private beta.
Outbound Caller Registration
For our customers making outbound calls, we can now register your business with the carriers to avoid the "Spam Likely" label on outbound calls.
For our customers making outbound calls, we can now register your business with the carriers to avoid the "Spam Likely" label on outbound calls.
Available in private beta.
Voicemail
Sometimes you or your customers would rather handle incoming calls asynchronously rather than in the moment a customer calls. We've now shipped voicemail in beta to allow you to receive voice messages from callers. By enabling voicemail on a phone number, we allow you to provide a greeting message. When someone calls your number, they will hear the greeting and be given the opportunity to record a message for you. We will then send you a voicemail.received webhook to let you know that the voicemail was received and is ready for download.
Sometimes you or your customers would rather handle incoming calls asynchronously rather than in the moment a customer calls. We've now shipped voicemail in beta to allow you to receive voice messages from callers.
By enabling voicemail on a phone number, we allow you to provide a greeting message. When someone calls your number, they will hear the greeting and be given the opportunity to record a message for you. We will then send you a voicemail.received webhook to let you know that the voicemail was received and is ready for download.
Available in private beta.
Voicemail
Sometimes you or your customers would rather handle incoming calls asynchronously rather than in the moment a customer calls. We've now shipped voicemail in beta to allow you to receive voice messages from callers. By enabling voicemail on a phone number, we allow you to provide a greeting message. When someone calls your number, they will hear the greeting and be given the opportunity to record a message for you. We will then send you a voicemail.received webhook to let you know that the voicemail was received and is ready for download.
Sometimes you or your customers would rather handle incoming calls asynchronously rather than in the moment a customer calls. We've now shipped voicemail in beta to allow you to receive voice messages from callers.
By enabling voicemail on a phone number, we allow you to provide a greeting message. When someone calls your number, they will hear the greeting and be given the opportunity to record a message for you. We will then send you a voicemail.received webhook to let you know that the voicemail was received and is ready for download.
Available in private beta.
Endpoint for listing contacts
We've added a new endpoint for listing all the contacts in an account. See the documentation for the list contacts endpoint for more details.
We've added a new endpoint for listing all the contacts in an account. See the documentation for the list contacts endpoint for more details.
Endpoint for listing contacts
We've added a new endpoint for listing all the contacts in an account. See the documentation for the list contacts endpoint for more details.
We've added a new endpoint for listing all the contacts in an account. See the documentation for the list contacts endpoint for more details.
Endpoint for listing messages
We've added a new endpoint for listing all the messages sent and received from an account. See the documentation for the list messages endpoint for more details.
We've added a new endpoint for listing all the messages sent and received from an account. See the documentation for the list messages endpoint for more details.
Endpoint for listing messages
We've added a new endpoint for listing all the messages sent and received from an account. See the documentation for the list messages endpoint for more details.
We've added a new endpoint for listing all the messages sent and received from an account. See the documentation for the list messages endpoint for more details.
Message body and blast_id are now nullable
Messages with attachments aren't required to have a message body, and messages aren't required to be associated with a blast. We previously had both fields in our OpenAPI spec and our SDK types show that a string would always be returned, but we have now updated that to allow string or null to reflect the actual behavior of the API.
Messages with attachments aren't required to have a message body, and messages aren't required to be associated with a blast. We previously had both fields in our OpenAPI spec and our SDK types show that a string would always be returned, but we have now updated that to allow string or null to reflect the actual behavior of the API.
Message body and blast_id are now nullable
Messages with attachments aren't required to have a message body, and messages aren't required to be associated with a blast. We previously had both fields in our OpenAPI spec and our SDK types show that a string would always be returned, but we have now updated that to allow string or null to reflect the actual behavior of the API.
Messages with attachments aren't required to have a message body, and messages aren't required to be associated with a blast. We previously had both fields in our OpenAPI spec and our SDK types show that a string would always be returned, but we have now updated that to allow string or null to reflect the actual behavior of the API.
Endpoint for listing phone numbers
We've added a new endpoint for listing all the phone numbers in your account. See the documentation for the list phone numbers endpoint for more details.
We've added a new endpoint for listing all the phone numbers in your account. See the documentation for the list phone numbers endpoint for more details.
Endpoint for listing phone numbers
We've added a new endpoint for listing all the phone numbers in your account. See the documentation for the list phone numbers endpoint for more details.
We've added a new endpoint for listing all the phone numbers in your account. See the documentation for the list phone numbers endpoint for more details.
2 updates shipped
Added link to edit toll-free verification information • Added from field to blasts
Updates shipped on January 25, 2026.
Added link to edit toll-free verification information
Feature
Whenever changes were needed on a toll-free verification, we displayed that on the phone number page, but we didn't provide a link to allow you to make those changes. We now include a button that links to the form where you can make the necessary changes.
Added from field to blasts
Feature
Blasts previously would always be sent from the default phone number on the account sending the blast. We added a from field which allows you to provide the phone number from which the blast should be sent. This should be helpful for users with multiple phone numbers in a single account. See the docs for creating a blast for more details.
2 updates shipped
Added link to edit toll-free verification information • Added from field to blasts
Updates shipped on January 25, 2026.
Added link to edit toll-free verification information
Feature
Whenever changes were needed on a toll-free verification, we displayed that on the phone number page, but we didn't provide a link to allow you to make those changes. We now include a button that links to the form where you can make the necessary changes.
Added from field to blasts
Feature
Blasts previously would always be sent from the default phone number on the account sending the blast. We added a from field which allows you to provide the phone number from which the blast should be sent. This should be helpful for users with multiple phone numbers in a single account. See the docs for creating a blast for more details.
Added blast_id field to messages
We added a blast_id field to the message schema so that anywhere that our customers who use blasts will be able to more easily track all of the messages sent by a blast. See the docs for messages.
We added a blast_id field to the message schema so that anywhere that our customers who use blasts will be able to more easily track all of the messages sent by a blast. See the docs for messages.
Added blast_id field to messages
We added a blast_id field to the message schema so that anywhere that our customers who use blasts will be able to more easily track all of the messages sent by a blast. See the docs for messages.
We added a blast_id field to the message schema so that anywhere that our customers who use blasts will be able to more easily track all of the messages sent by a blast. See the docs for messages.
Allow SMS autoresponse message to be edited
Once an SMS autoresponse message was set, the form on the phone number settings page would hide itself when you attempted to change it. This made it impossible to edit the autoresponse message. We've fixed this issue so that the form remains visible, allowing you to edit it once it's been set.
Once an SMS autoresponse message was set, the form on the phone number settings page would hide itself when you attempted to change it. This made it impossible to edit the autoresponse message.
We've fixed this issue so that the form remains visible, allowing you to edit it once it's been set.
Allow SMS autoresponse message to be edited
Once an SMS autoresponse message was set, the form on the phone number settings page would hide itself when you attempted to change it. This made it impossible to edit the autoresponse message. We've fixed this issue so that the form remains visible, allowing you to edit it once it's been set.
Once an SMS autoresponse message was set, the form on the phone number settings page would hide itself when you attempted to change it. This made it impossible to edit the autoresponse message.
We've fixed this issue so that the form remains visible, allowing you to edit it once it's been set.
Hide unread count with invalid filters
Previously when an invalid id was passed to the embeddable unread count component, the filters would just be ignored, and the component would show the count of all messages the user could view but hadn't read. We have now fixed this behavior so that if an invalid filter id is provided, the component will hide the unread count entirely, similar to how it behaves when the user has no unread messages. This change helps prevent confusion so that it won't appear that there are unread messages when the filters are not valid.
Previously when an invalid id was passed to the embeddable unread count component, the filters would just be ignored, and the component would show the count of all messages the user could view but hadn't read.
We have now fixed this behavior so that if an invalid filter id is provided, the component will hide the unread count entirely, similar to how it behaves when the user has no unread messages. This change helps prevent confusion so that it won't appear that there are unread messages when the filters are not valid.
Hide unread count with invalid filters
Previously when an invalid id was passed to the embeddable unread count component, the filters would just be ignored, and the component would show the count of all messages the user could view but hadn't read. We have now fixed this behavior so that if an invalid filter id is provided, the component will hide the unread count entirely, similar to how it behaves when the user has no unread messages. This change helps prevent confusion so that it won't appear that there are unread messages when the filters are not valid.
Previously when an invalid id was passed to the embeddable unread count component, the filters would just be ignored, and the component would show the count of all messages the user could view but hadn't read.
We have now fixed this behavior so that if an invalid filter id is provided, the component will hide the unread count entirely, similar to how it behaves when the user has no unread messages. This change helps prevent confusion so that it won't appear that there are unread messages when the filters are not valid.
Updates shipped on January 18, 2026.
Metadata for messages
Feature
We now support attaching custom metadata to messages sent via the API. Like the metadata fields on Contacts and Users, this allows you to store additional information relevant to your application. Metadata can be used for filtering, reporting, tracking, and analytics.
The metadata field allows you to attach up to 50 key-value pairs to a message, with each value being a string up to 500 characters long. For more information, see the documentation for the Create message endpoint.
Link followed webhook
Feature
By default, any links included in messages sent through our platform are shortened to better fit within a single SMS segment. These links are also tracked to provide insights on user engagement. Historically we've only shown statistics about link clicks within our dashboard and the embedded inbox component.
With this update, we've introduced a new link.followed webhook event that notifies you whenever a recipient follows a tracked link. For more information, see the documentation for the link followed webhook.
Updates shipped on January 18, 2026.
Metadata for messages
Feature
We now support attaching custom metadata to messages sent via the API. Like the metadata fields on Contacts and Users, this allows you to store additional information relevant to your application. Metadata can be used for filtering, reporting, tracking, and analytics.
The metadata field allows you to attach up to 50 key-value pairs to a message, with each value being a string up to 500 characters long. For more information, see the documentation for the Create message endpoint.
Link followed webhook
Feature
By default, any links included in messages sent through our platform are shortened to better fit within a single SMS segment. These links are also tracked to provide insights on user engagement. Historically we've only shown statistics about link clicks within our dashboard and the embedded inbox component.
With this update, we've introduced a new link.followed webhook event that notifies you whenever a recipient follows a tracked link. For more information, see the documentation for the link followed webhook.
Delete users
Users can now be deleted via the API using DELETE /users/{user_id}. Deleting a user removes their access to any any embedded UI components, and they will no longer show up as targets for incoming calls. Any messages sent by that user will still show the user's name as the sender. For more information, see the documentation for the delete user endpoint.
Users can now be deleted via the API using DELETE /users/{user_id}. Deleting a user removes their access to any any embedded UI components, and they will no longer show up as targets for incoming calls. Any messages sent by that user will still show the user's name as the sender. For more information, see the documentation for the delete user endpoint.
Delete users
Users can now be deleted via the API using DELETE /users/{user_id}. Deleting a user removes their access to any any embedded UI components, and they will no longer show up as targets for incoming calls. Any messages sent by that user will still show the user's name as the sender. For more information, see the documentation for the delete user endpoint.
Users can now be deleted via the API using DELETE /users/{user_id}. Deleting a user removes their access to any any embedded UI components, and they will no longer show up as targets for incoming calls. Any messages sent by that user will still show the user's name as the sender. For more information, see the documentation for the delete user endpoint.
Filter API logs by request ID
You can now filter API logs by request ID, making it easier to trace specific requests and debug issues. This also makes it so that you can link to individual log entries directly for sharing with your team or with Surge support.
You can now filter API logs by request ID, making it easier to trace specific requests and debug issues. This also makes it so that you can link to individual log entries directly for sharing with your team or with Surge support.
Filter API logs by request ID
You can now filter API logs by request ID, making it easier to trace specific requests and debug issues. This also makes it so that you can link to individual log entries directly for sharing with your team or with Surge support.
You can now filter API logs by request ID, making it easier to trace specific requests and debug issues. This also makes it so that you can link to individual log entries directly for sharing with your team or with Surge support.
Business fields for toll-free verification
Toll-free numbers will now require business information for verification. This matches the requirements for local numbers and helps to prevent spam from application-to-person messaging. The carriers are requiring this change to be implemented for all SMS APIs before February, so we've added these fields now to ensure compliance ahead of time. Now when registering a toll-free number, you'll be prompted to provide the following fields: Business Type (sole proprietorship, corporation, LLC, etc.) Legal Business Name (as registered with the IRS) * EIN (Employer Identification Number) Sole proprietors will still be able to register toll-free numbers without needing an EIN, but all other business types will need to provide this information for verification.
Toll-free numbers will now require business information for verification. This matches the requirements for local numbers and helps to prevent spam from application-to-person messaging. The carriers are requiring this change to be implemented for all SMS APIs before February, so we've added these fields now to ensure compliance ahead of time.
Now when registering a toll-free number, you'll be prompted to provide the following fields:
- Business Type (sole proprietorship, corporation, LLC, etc.)
- Legal Business Name (as registered with the IRS)
- EIN (Employer Identification Number)
Sole proprietors will still be able to register toll-free numbers without needing an EIN, but all other business types will need to provide this information for verification.
Business fields for toll-free verification
Toll-free numbers will now require business information for verification. This matches the requirements for local numbers and helps to prevent spam from application-to-person messaging. The carriers are requiring this change to be implemented for all SMS APIs before February, so we've added these fields now to ensure compliance ahead of time. Now when registering a toll-free number, you'll be prompted to provide the following fields: Business Type (sole proprietorship, corporation, LLC, etc.) Legal Business Name (as registered with the IRS) * EIN (Employer Identification Number) Sole proprietors will still be able to register toll-free numbers without needing an EIN, but all other business types will need to provide this information for verification.
Toll-free numbers will now require business information for verification. This matches the requirements for local numbers and helps to prevent spam from application-to-person messaging. The carriers are requiring this change to be implemented for all SMS APIs before February, so we've added these fields now to ensure compliance ahead of time.
Now when registering a toll-free number, you'll be prompted to provide the following fields:
- Business Type (sole proprietorship, corporation, LLC, etc.)
- Legal Business Name (as registered with the IRS)
- EIN (Employer Identification Number)
Sole proprietors will still be able to register toll-free numbers without needing an EIN, but all other business types will need to provide this information for verification.
Archive accounts
Accounts can now be archived both from the dashboard and via the API. Archiving an account removes it from the account list, releases all phone numbers in the account, and deactivates any campaigns in the account. After an account is archived, messages and other resources can no longer be created in the account. Please note that this will not delete the associated data. To permanently delete an account and its data, please contact Surge support. ## Dashboard To archive an account from the dashboard, navigate to the account settings page and look for the "Archive" button in the top right corner of the page. ## API Accounts can be archived from the API using the DELETE /accounts/{account_id} endpoint. See the API documentation for more information.
Accounts can now be archived both from the dashboard and via the API. Archiving an account removes it from the account list, releases all phone numbers in the account, and deactivates any campaigns in the account. After an account is archived, messages and other resources can no longer be created in the account.
Please note that this will not delete the associated data. To permanently delete an account and its data, please contact Surge support.
Dashboard
To archive an account from the dashboard, navigate to the account settings page and look for the "Archive" button in the top right corner of the page.
API
Accounts can be archived from the API using the DELETE /accounts/{account_id} endpoint. See the API documentation for more information.
Archive accounts
Accounts can now be archived both from the dashboard and via the API. Archiving an account removes it from the account list, releases all phone numbers in the account, and deactivates any campaigns in the account. After an account is archived, messages and other resources can no longer be created in the account. Please note that this will not delete the associated data. To permanently delete an account and its data, please contact Surge support. ## Dashboard To archive an account from the dashboard, navigate to the account settings page and look for the "Archive" button in the top right corner of the page. ## API Accounts can be archived from the API using the DELETE /accounts/{account_id} endpoint. See the API documentation for more information.
Accounts can now be archived both from the dashboard and via the API. Archiving an account removes it from the account list, releases all phone numbers in the account, and deactivates any campaigns in the account. After an account is archived, messages and other resources can no longer be created in the account.
Please note that this will not delete the associated data. To permanently delete an account and its data, please contact Surge support.
Dashboard
To archive an account from the dashboard, navigate to the account settings page and look for the "Archive" button in the top right corner of the page.
API
Accounts can be archived from the API using the DELETE /accounts/{account_id} endpoint. See the API documentation for more information.
2 updates shipped
Receive incoming calls with the embeddable phone component • Allow longer webhook endpoint URLs
Updates shipped on January 9, 2026.
Receive incoming calls with the embeddable phone component
Feature
The embeddable phone component can now receive incoming calls. This allows users to take calls directly within the embedded UI, enhancing the communication experience.
Allow longer webhook endpoint URLs
Improvement
Webhook endpoint URLs can now be up to 2048 characters long, accommodating more complex configurations and integrations.
2 updates shipped
Receive incoming calls with the embeddable phone component • Allow longer webhook endpoint URLs
Updates shipped on January 9, 2026.
Receive incoming calls with the embeddable phone component
Feature
The embeddable phone component can now receive incoming calls. This allows users to take calls directly within the embedded UI, enhancing the communication experience.
Allow longer webhook endpoint URLs
Improvement
Webhook endpoint URLs can now be up to 2048 characters long, accommodating more complex configurations and integrations.
2 updates shipped
Custom 500 error page • Terms and conditions fields for carrier registration
Updates shipped on January 2, 2026.
Custom 500 error page
Improvement
Rather than displaying a generic error message when something goes wrong on our servers, we've implemented a custom 500 error page that provides a little more direction. Hopefully you never get the chance to see it, but it will be slightly more delightful when you do.
Terms and conditions fields for carrier registration
Improvement
Carriers have begun enforcing the requirement that a terms and conditions URL be provided when registering a number to be able to send SMS. While we were previously accepting a terms and conditions URL for campaigns registered via the API, we have now made this a required field for all new campaign registrations, and we've added a new screen in the dashboard to allow users to provide this URL when registering a new campaign. This screen also contains boilerplate terms and conditions that you can host on your site in order to be compliant.
2 updates shipped
Custom 500 error page • Terms and conditions fields for carrier registration
Updates shipped on January 2, 2026.
Custom 500 error page
Improvement
Rather than displaying a generic error message when something goes wrong on our servers, we've implemented a custom 500 error page that provides a little more direction. Hopefully you never get the chance to see it, but it will be slightly more delightful when you do.
Terms and conditions fields for carrier registration
Improvement
Carriers have begun enforcing the requirement that a terms and conditions URL be provided when registering a number to be able to send SMS. While we were previously accepting a terms and conditions URL for campaigns registered via the API, we have now made this a required field for all new campaign registrations, and we've added a new screen in the dashboard to allow users to provide this URL when registering a new campaign. This screen also contains boilerplate terms and conditions that you can host on your site in order to be compliant.
Filter Inbox component by phone number
You can now provide a phonenumberid parameter to the Inbox component to tell it to only show conversations associated with a specific phone number. This is great for use cases where you have multiple phone numbers and want to embed the Inbox component for each individual number separately. See the Inbox component documentation for more details.
You can now provide a phone_number_id parameter to the Inbox component to tell it to only show conversations associated with a specific phone number. This is great for use cases where you have multiple phone numbers and want to embed the Inbox component for each individual number separately.
See the Inbox component documentation for more details.
Filter Inbox component by phone number
You can now provide a phonenumberid parameter to the Inbox component to tell it to only show conversations associated with a specific phone number. This is great for use cases where you have multiple phone numbers and want to embed the Inbox component for each individual number separately. See the Inbox component documentation for more details.
You can now provide a phone_number_id parameter to the Inbox component to tell it to only show conversations associated with a specific phone number. This is great for use cases where you have multiple phone numbers and want to embed the Inbox component for each individual number separately.
See the Inbox component documentation for more details.