# SuperOffice Email Sending Strategy Analysis (Feb 28, 2026) ## Executive Summary Automated email sending "on behalf of" sales representatives directly via the SuperOffice API is currently **technically blocked** due to missing permissions and license restrictions on the configured System User (Client ID `0fd8...`). We have exhausted all standard API paths (Agents, REST, Archive, CRMScript). A strategic reconfiguration by the SuperOffice administrator is required. ## Technical Findings | Feature | Status | Error Code | Root Cause Analysis | | :--- | :--- | :--- | :--- | | **Document Creation** | ✅ Working | 200 OK | We can create `.somail` files in the archive. | | **Native Sending** (`/Shipment`) | ❌ Failed | 500 Internal | The System User lacks a valid `Associate` context or "Mailing" license. | | **Agent Sending** (`/Agents/EMail`) | ❌ Failed | 401 Unauth | The standard OAuth token is rejected for this Agent; likely requires "interactive" user context or specific scope. | | **CRMScripting** | ❌ Failed | 403 Forbidden | Access to the Scripting Engine is blocked for this API user. | | **User Context** (`/Associate/Me`) | ❌ Failed | 500 Internal | **Critical:** The System User does not know "who it is". This breaks all "Send As" logic. | ## Required Actions (IT / Admin) To enable automated sending, one of the following two paths must be implemented: ### Option A: Enable Native SuperOffice Sending (Preferred) 1. **Fix System User:** The API User must be linked to a valid "Person" card in SuperOffice Admin with **Service / Marketing Administrator** rights. 2. **Enable Mailings:** The tenant `Cust26720` must have the "Marketing" license active and assigned to the API User. 3. **Approve "Send As":** The API User needs explicit permission to set the `SenderEmailAddress` field in Shipments. ### Option B: External Sending Engine (Recommended Fallback) If Option A is too complex or costly (licensing), we switch the architecture: 1. **SMTP Relay:** Provision a dedicated SMTP account (e.g., Office365 Service Account or SendGrid) for the "RoboPlanet GTM Engine". 2. **Logic Shift:** The Python Connector sends the email via SMTP (Python `smtplib`). 3. **Archiving:** The Connector saves the *sent* email as a `.eml` document in SuperOffice (which already works!). ## Immediate Workaround Until a decision is made, the system uses the **"Activity Handoff"** method: 1. System generates the text. 2. System creates a Task (Appointment) in SuperOffice. 3. User clicks a link, copies the text, and sends via their own Outlook/Gmail.