Plan upgrades refresh message limits
Upgrading to a plan with a higher monthly outbound-message limit now clears the old plan’s depleted allowance immediately, so sending can resume under the new plan instead of remaining throttled.
Upgrading to a plan with a higher monthly outbound-message limit now clears the old plan’s depleted allowance immediately, so sending can resume under the new plan instead of remaining throttled.
Project managers and admins can now manage an account’s name and time zone from a dedicated Settings page, and override project defaults for link shortening and blocking known-undeliverable destinations with On, Off, or Inherit controls.
The embedded inbox now includes a “Mark all as read” action for unread, active conversations in the current inbox or phone-number scope. Conversation and unread-count widgets refresh automatically afterward.
New ElevenLabs connections now use Surge’s encrypted SIP routing and no longer depend on ElevenLabs resolving a fixed Surge IP address, making phone-number setup more reliable.
You can now sign up for and sign in to Surge with GitHub. Existing users can securely connect or disconnect GitHub from Security Settings, and users who joined with GitHub can add a password afterward.
The API now supports creating and listing toll-free campaigns with POST and GET /accounts/{account_id}/toll_free_campaigns, retrieving campaigns with GET /toll_free_campaigns/{campaign_id}, and updating and resubmitting changes-needed campaigns with PATCH /toll_free_campaigns/{campaign_id}.
Confirmation dialogs in HQ now name the exact action and resource, explain the consequence, and use contextual action labels. Confirmations that require a resource identifier also provide a copy button, making repeated administrative work less tedious.
Verification destinations can now receive one code every 30 seconds and up to 10 per hour. Rate-limited requests include an accurate Retry-After header, rejected attempts no longer consume the hourly allowance unnecessarily, and invalid destinations do not count against the monthly quota.
Inbound messages from five- and six-digit short codes now preserve the sender exactly, ensuring follow-up messages continue in the existing contact and conversation instead of failing during phone-number formatting.
You can now sign up for and sign in to Surge with Google. Existing users can securely connect or disconnect Google from Security Settings, and users who joined with Google can add a password afterwards.
Creating an immediate blast now checks the project’s monthly outbound-message quota before accepting it. Over-limit requests return 403 with monthly_outbound_message_limit instead of enqueueing a blast that cannot be sent.
Phone numbers now support custom metadata. Metadata can be set when purchasing or updating a number and is returned with phone number objects in API responses and webhook payloads.
Projects in the SIP trunk private beta now get call records derived from SIP traffic, with reconciled final statuses, accurate start times, and replay-safe call.ended webhooks.
This feature is in private beta. Please reach out to support@surge.app or use the in-product chat to contact support and request access.
Toll-free registrations in HQ can now include up to 10 opt-in evidence files for cases where your opt-in flow requires multiple steps.
HQ now displays a persistent alert when a project has a past-due invoice so that you can take care of payment before seeing any interruption to sending. Project admins can go directly from the alert to make a payment, while other users are prompted to notify an admin.
Organizations in Canada can now provide a Canadian address when registering a toll-free messaging campaign in HQ, with validation for provinces and postal codes.
Link detection and shortening now recognize scheme-less URLs using common modern domains such as .app, .dev, .shop, .cloud, and .xyz.
Campaign registrations in HQ can now use an explicit sample URL instead of relying on Surge to find one. Campaign templates can store the sample URL so it is reused in future registrations. This can be really helpful for preventing filtering by the carriers.
You can now start phone number import requests directly from the Phone Numbers page in HQ. Surge checks portability, collects any per-number account credentials and supporting documents, and imports numbers automatically when the request completes.
Blasts now honor the account or project link-shortening setting instead of shortening every URL unconditionally.
Moving a phone number between accounts now clears call handling and other settings tied to the previous account. If the number was the old account’s default, Surge selects another eligible default when possible.
Webhook subscribers can now receive a phone_number.imported event whenever a phone number is imported into Surge from an external provider. See the phone_number.imported event in the docs for more information.
Message objects in API responses and webhook payloads now include a normalized status value: pending, received, sent, delivered, or failed.
Verification destinations reported by the carrier as opted out are now recorded correctly so future sends are prevented, and replying START re-enables verification messages.
Message list pages and GET /accounts/{account_id}/messages have been optimized, dramatically reducing load times for smaller and less-active accounts.