Make everyday two-way SMS safe and practical inside Odoo chatter
Choose the correct business number, understand SMS length, attach MMS media or voice, work Inbox threads, clean active chatter without erasing evidence, and keep open records synchronized.
What changes after installation
Practical tools for daily two-way messaging
Sender-number governance
Resolve defaults and validate active state, user access, number limits, gateway policy, and recipient context.
Length feedback
Show characters and estimated SMS segments before the operator sends.
MMS and voice tools
Attach files, drag and drop media, or record audio when the selected gateway supports it.
Operational Inbox
Work normalized phone threads with partner, latest-message, unread, and composer context.
Bulk message selection
Select SMS/MMS rows in chatter and apply a confirmed cleanup operation.
Soft-delete accountability
Remove noise from active chatter while retaining structured metadata for authorized review.
Corvus SMS Workspace · Operator layer
Make two-way SMS practical inside everyday Odoo chatter
Choose the correct business number, compose with SMS/MMS awareness, record voice attachments, select messages in bulk, preserve deleted history and keep open chatter synchronized.
Chatter composer Sender governance Soft-delete archive
From infrastructure to a usable workspace
Gateways and webhooks solve transport. Operators still need a safe way to choose a number, understand message length, attach media, clean a thread without destroying evidence, and see new activity without repeatedly refreshing.
Work in context
Send from the business record instead of moving to technical gateway screens.
Protect the message trail
Soft-delete for operational cleanup while retaining an administrator archive.
Workspace capabilities
Sender selection
User access, active state, defaults and number limits are respected.
SMS feedback
Character and segment counts help operators understand message length.
MMS-aware composer
Attachments, drag/drop and voice recording when the gateway supports media.
Bulk selection
Select SMS/MMS rows directly in chatter and confirm one cleanup action.
Soft delete
Store direction, body, gateway, sender, dates and MMS context for audit.
Live refresh
Bus events update open chatter after messaging and cleanup activity.
Choose the sender identity
The standard Odoo SMS popup gains a gateway-number selector. Defaults are resolved from user, company, global and gateway policy, while the backend validates that the selected number is active, within limits and allowed for the user.
Compose where the conversation happens
Open the SMS composer separately from email, select a number, review message length, attach files or record audio, and send through the established gateway stack. Unsupported MMS attachments produce a warning instead of a misleading send.
Use SMS Inbox as an operational queue
Phone-normalized threads expose partner, latest message and unread context. The workspace links that conversation data with composer controls, while later suite layers add tabs and floating access.
Clean the view without erasing accountability
Selection mode adds checkboxes to SMS messages. Soft delete removes selected rows from active chatter, preserves a structured archive, cleans only unshared attachments and refreshes affected threads. Authorized administrators can later perform an irreversible hard delete.
Built-in queue safety
Inbound messages remain state Received and are excluded from outbound queue, send and resend operations. The UI also avoids presenting incoming records as failed outgoing messages.
Continue up the Corvus suite ladder
Workspace is the daily operations layer. Chatter Tabs adds per-number, Internal and AI tabs plus rerouting; Floating Chat adds an always-available panel; Corvus SMS Suite adds unread systray, sound, desktop/email notifications and transcription.
Explore the complete suiteComplete suite demo
See the workspace in the wider inbound, MMS, tabbed chatter and floating chat workflow.
Watch on YouTubeProfessional Services
Implementation
Install and configure workflows.
Training
Composer and cleanup procedures.
Customization
Odoo, migration and deployment.
Support
Troubleshooting and optimization.
Corvus Nexus Technologies LTD
https://corvusnexus.co.uk  support@corvusnexus.co.uk  +44 740 4228172
Corvus module ladder
Build the complete Corvus SMS experience
Corvus SMS Workspace provides one focused layer. Choose the complete Corvus SMS Suite when the deployment also needs configurable gateways, inbound routing, MMS, workspace tools, structured chatter, floating conversations, real-time notifications, translation, enrichment, and campaigns.
Corvus MMS Base
Add provider-independent MMS requests, secure expiring attachment URLs, composer media, and inbound attachment context to the Corvus two-way messaging stack.
View on Odoo AppsCorvus SMS Chatter Tabs
Switch into SMS mode, separate number-specific threads, keep private staff notes beside the customer history, use templates and AI assistance, and safely reroute misplaced inbound messages.
View on Odoo AppsCorvus SMS Suite
Combine gateway transport, inbound routing, MMS, operator workspaces, structured chatter, floating messaging, real-time notifications, AI tools, and optional translation, enrichment, and campaign workflows.
View on Odoo AppsShared suite demonstration
See the complete SMS/MMS workflow
This video demonstrates the broader Corvus suite, not only Corvus SMS Workspace. It helps buyers understand how gateway setup, inbound routing, operator surfaces, messaging enhancements, and follow-up work fit together.
Open on YouTubeVersion and compatibility
Release history
| Version | Compatibility | Status |
|---|---|---|
| 19.0.1.0.0 | Odoo 19.0 | Current documented release |
| Documentation revision | 2026-07-24 | Hero, feature coverage, suite links, video, and FAQ refreshed |
Only verified release information is listed. Technical version semantics remain controlled by the module manifest.
Important questions
Frequently asked questions
How is the default sender number chosen?
The workspace considers user, company, global, and gateway policy, then validates that the final number is active and permitted.
Can an operator attach media to any gateway?
No. Attachments are allowed only when the selected gateway and sender support MMS.
Does soft delete permanently erase SMS history?
No. It removes selected items from active chatter and preserves a structured archive. Hard deletion is a separate authorized action.
How does open chatter stay current?
Workspace services publish and consume Corvus bus events after messaging and cleanup operations.
Implementation, integration, and support
Gateway and webhook configuration · Odoo SMS/MMS implementation · custom provider integration · migration · DevOps · training · troubleshooting · maintenance
corvusnexus.co.uk  support@corvusnexus.co.uk
+44 740 4228172
Corvus Nexus Technologies LTD is not an official partner, reseller, or representative of any SMS/MMS provider. Provider accounts, network service, credentials, fees, sender registration, consent, and legal compliance remain the customer's responsibility. Custom gateways may require adjustment.
License and Usage Notice
These modules are provided with absolutely no warranty, commitment, or guarantee.
- Do not use in production until fully validated in test environment.
- Licensed only for one production database unless separate licensing applies.
- We are not responsible for data loss, downtime, outages, integration impact, or business impact.
- Do not redistribute, modify, reuse, or integrate code/concepts commercially without written permission.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• CRM (crm) • Calendar (calendar) • Contacts (contacts) |
| Community Apps Dependencies | Show |
| Lines of code | 9587 |
| Technical Name |
corvus_sms_workspace |
| License | See License tab |
| Website | https://corvusnexus.co.uk |
Corvus SMS Workspace
An operator-focused SMS/MMS composer, conversation cleanup and queue-safety layer for Odoo 19.
Module summary
corvus_sms_workspace makes the gateway, inbound and MMS stack practical for daily staff. It adds sender-number choice to the standard SMS popup, supplies a dedicated chatter SMS composer with length/segment feedback, supports attachments and voice recording, adds message selection and soft delete, and refreshes open chatter through the Odoo bus.
The workspace does not receive provider webhooks and does not define gateway transport. It operates on services supplied by corvus_sms_inbound and corvus_mms_base.
Dependencies and installation
Install eis_sms_apis, corvus_sms_inbound and corvus_mms_base first. The module also uses Odoo mail and web. Configure at least one active gateway number and give test users access to it before evaluating the composer.
Copy the addon into an addons path, update the Apps list, install Corvus SMS Workspace, then refresh the browser so the backend asset bundle is loaded.
What the module adds
- sms.composer fields for gateway, gateway number and eligible numbers.
- A chatter-side SMS composer with sender selection, character and segment count.
- MMS attachment and drag/drop behavior when the gateway supports media.
- Voice recording integrated with the composer attachment flow.
- SMS message checkboxes, selection mode and bulk soft-delete confirmation.
- sms.soft.delete archive list/form and administrator hard-delete action.
- Queue protections that keep inbound records out of outbound send/resend jobs.
- A bus listener that reloads chatter after SMS-related backend events.
Step 1: prepare sender-number access
Use the inbound module's user, company and gateway-number settings first. A user sees explicitly allowed numbers when restrictions exist; otherwise the workspace uses active numbers that have not exceeded their limits.
The default is selected from user, company, global and eligible gateway defaults. Recipient numbers are normalized with contact-country or default-country context.
Step 2: use the standard SMS popup
- Open a supported Odoo record and choose Send SMS.
- Review the preselected sender number.
- Select another allowed number when the conversation should use a different business identity.
- Leave it empty only when gateway rules/defaults should choose the number.
- Write the message and use the normal send action.
The same gateway-number context is applied to direct SMS and comment-based SMS sending. The backend validates access again; a client-side choice cannot bypass number permissions.
Step 3: work from the chatter composer
- Open chatter on a supported business record.
- Activate the SMS composer separately from the normal email/comment composer.
- Select an eligible gateway number.
- Type the message and watch the character and SMS segment count.
- Add attachments only when the selected gateway reports MMS support.
- Use the voice recorder when an audio attachment is appropriate.
- Send, or close the composer to reset its temporary state.
The composer fetches active gateways and number metadata from the backend. If the gateway cannot send MMS, it warns the user instead of silently treating the file as sent.
Step 4: use SMS Inbox as an operational queue
SMS Inbox maintains phone-normalized threads, partner context, unread counts and last-message information. Open a thread to review the conversation and continue with the composer. Chatter Tabs and Floating Chat add richer interfaces, but the workspace remains the operational bridge between inbox data and composer actions.
Step 5: select and soft-delete messages
Enter SMS selection mode in chatter. Check the SMS/MMS rows to remove and confirm the bulk action. The backend creates one sms.soft.delete archive entry per message, marks the chatter row as soft deleted, removes attachments only when they are not referenced elsewhere, and asks open chatter views to reload.
Soft delete is intentionally different from permanent deletion: operators can clean the active conversation while administrators retain an audit record.
Step 6: review the archive
The archive list supports review of deleted date, user, direction, gateway, sender number and message context.
The form retains body, original date, linked lead/message/SMS, MMS state and media URLs. Hard Delete permanently removes the underlying records and should be restricted to authorized administrators following the organization's retention policy.
Queue and message-state safeguards
Inbound SMS is forced to state received and is protected from normal writes that would convert it into an outbound queue item. Queue, resend and send methods filter for direction outbound, state outgoing and records not marked for deletion. The chatter error display is also adjusted so an incoming message is not presented as a failed outgoing SMS.
Live chatter refresh
The workspace listens on record-specific reload_chatter bus channels. When an inbound message arrives or a soft-delete action completes, an open chatter can refresh without the operator manually leaving the record. This is a UI refresh mechanism; network interruptions may still require a browser refresh.
Security and access
Sender-number rules from the inbound layer apply to every workspace send. Full CRUD access to the soft-delete archive is reserved for system users. Normal business-record and chatter access continues to follow Odoo model permissions.
Troubleshooting
- Workspace controls do not appear
- Refresh the browser after installation and confirm the module's backend assets are loaded. Also confirm the current model is supported.
- No sender number is available
- Check number/gateway active state, allowed users, quota limits and defaults.
- Attachment action is disabled or rejected
- The selected gateway does not advertise MMS support.
- Inbound SMS appears as an error
- Verify the record has direction inbound and state received and that the latest workspace assets are active.
- A deleted message is still visible
- Refresh chatter, check the bus connection, and verify that the archive record was created and the chatter row was marked soft deleted.
Limitations
The UI patches depend on Odoo mail/chatter internals. MMS and sender-number features require their upstream modules. Loop Lookup integration is only an optional hook unless corvus_sms_loop_lookup is installed. Hard delete is irreversible and must be governed by customer policy.
Professional Services
Corvus Nexus Technologies LTD provides installation, workflow configuration, custom Odoo development, migration, deployment, training, troubleshooting and ongoing optimization.
Support and Contact
Corvus Nexus Technologies LTD Proprietary License v3.0 1. LICENSE AND OWNERSHIP This software and all associated documentation (the “Software”) is the exclusive property of Corvus Nexus Technologies LTD (“Licensor”). By downloading, installing, or using the Software, you accept a non-exclusive, non-transferable, non-sublicensable, non-assignable license limited to the terms below. 2. LICENSE GRANT The Licensor grants you a personal license to use this Software only for your internal business operations. The license is valid only for: 1) one (1) production Odoo database, and 2) one (1) dedicated test/sandbox database tied to the same deployment context. No other production instance may use this licensed copy. 3. AUTHORIZED USES ONLY You may use the Software only in unmodified form on the authorized databases. You may not: 1) copy, redistribute, sublicense, lease, rent, lend, transfer, or resell the Software; 2) use the Software on additional production databases, whether for internal affiliates or separate legal entities, without a separate license; 3) publish, expose, or distribute this Software as a service or product; 4) modify, decompile, reverse engineer, disassemble, de-obfuscate, adapt, or create derivative works from the Software; 5) use any part of the code, architecture, workflow, or implementation concepts commercially without written permission from the Licensor; 6) repackage, mask, or remove licensing, copyright, or authorship notices. 4. THIRD-PARTY USE IS PROHIBITED You may not offer, integrate, or sell this Software to end users under a different brand or package, or create a derivative commercial module, plug-in, or integration based on it, without written permission from the Licensor. 5. INTELLECTUAL PROPERTY All rights not expressly granted in this license remain reserved by the Licensor. You acquire no ownership interest in the Software. All trademarks, copyrights, trade secrets, and know-how remain with the Licensor. 6. WARRANTY DISCLAIMER THE SOFTWARE IS PROVIDED “AS IS” AND “AS AVAILABLE,” WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE. THE LICENSOR DISCLAIMS ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUALITY, SECURITY, NON-INFRINGEMENT, CONTINUITY, OR OPERATIONAL RELIABILITY. 7. NO LIABILITY ASSUMPTION To the maximum extent permitted by law, the Licensor shall not be liable for any indirect, incidental, special, consequential, punitive, exemplary, or economic damages, including loss of profits, data, revenue, goodwill, business opportunity, or downtime. 8. LIABILITY LIMITATION Your sole and exclusive remedy for any valid claim is limited to the net license income actually received by the Licensor from the sale/acceptance of the Software to you, after deduction of all applicable taxes, value-added taxes, and Odoo App Store fees and commissions. No other damages, claims, demands, penalties, or compensation shall be payable. 9. INDEMNITY You shall defend, indemnify, and hold harmless the Licensor, its owners, and directors from all claims, losses, liabilities, and costs arising from your misuse, misconfiguration, unauthorized use, breaches, or third-party reliance on your use of the Software. 10. TERMINATION This license is immediately terminated on any breach. Upon termination, you must cease use, delete all copies, remove all copies from all systems, and provide written confirmation of compliance if requested. 11. JURISDICTION AND ENFORCEMENT This license is governed by the laws of England and Wales. Any dispute shall fall under the exclusive non-exclusive jurisdiction of the courts of England and Wales. The parties may, in good faith, attempt informal resolution before commencing court proceedings. 12. COMPULSORY TERMS This License is not negotiable. If any term is held unenforceable, it will be severed only to the minimum extent required by law, and all remaining terms remain in full effect.
Please log in to comment on this module