Custom Workspace & Webhook Integration Guide
- Integrate myCRMSIM with any platform
- Send messages into myCRMSIM via webhook
- Receive message status updates via webhook
- Receive inbound messages (WhatsApp / iMessage / SMS)
- Assign SIMs, WhatsApp, iMessage or devices per workspace
- Unique location_id
- Contact & message routing
- Assigned SIM / iMessage / WhatsApp devices
- One outbound + inbound webhook endpoint
- WeĀ send inbound messages & status updates
- YouĀ send outbound messagesĀ to myCRMSIM
- Go to Admin Panel āĀ Workspaces / Webhooks


Ā Ā 3. You will see theĀ Add New Workspace modal

Workspace Fields
| Field | Description |
| Select Existing Workspace | (Optional) Clone an existing workspace configuration |
| Name | Workspace name (e.g. Client Name / App Name) |
| Address | Optional business address |
| Contact email for the workspace | |
| Phone Number | Default phone number (E.164 recommended) |
| URL | Your webhook base URL |
- Click ā Add Header

Ā Ā Ā 2.Ā Enter:
- Header KeyĀ (e.g. Authorization)
- Header ValueĀ (e.g. Bearer YOUR_API_KEY)

Examples:
Authorization: Bearer sk_live_xxx
X-Client-ID: mycrm-client-01

- Location ID
- Webhook URL
- Actions (Edit / Delete / Instructions)

- Go toĀ Subaccount SIM Page

Ā Ā 2. Click on the "Connect Location" ā

Ā Ā 3.Ā Choose theĀ WorkspaceĀ you created and toggle On.

You will now see this newly created workspace on the subaccount SIM page in your active workspaces.

Ā Ā Ā Ā Ā Assign one or more:
- SIM numbers
- WhatsApp devices
- iMessage devices
API EndpointPOSTĀ https://r6bszuuso6.execute-api.ap-southeast-2.amazonaws.com/prod/webhook
This endpoint is common for all custom workspaces. The location_id inside the payload determines routing.
| FieldĀ | Required | Description |
| location_id | ā | Custom workspace location ID |
| user_id | ā | User identifier from your system |
| phone | ā | Recipient phone number (E.164 format) |
| message | ā | Message text body |
| attachments | ā | Array of publicly accessible media URLs |
| message_id | ā | Message identifier generated by your system |
| channel | ā | imessage, whatsapp, sms, or rcs |
- message_idĀ is mandatory and used for all future status updates
- Media URLs must be publicly accessible
- The selectedĀ channelĀ must be assigned to the workspace device
For every outbound message, myCRMSIM sends status updates to your configured webhook URL.
The following status values are sent by myCRMSIM:
| StatusĀ | Meaning |
| SENT | Message sent successfully |
| DELIVERED | Message delivered to recipient |
| FAILED | Message delivery failed |
When an end user replies via SMS, WhatsApp, or iMessage, myCRMSIM forwards the inbound message to your webhook URL.
| Field | Description |
| type | Always MESSAGE |
| location_id | Workspace identifier |
| phoneĀ | Sender phone number |
| messageĀ | Inbound message text |
| isMeĀ | Always false for inbound messages |
| attachments | Array of media URLs (if any) |
- EditĀ ā Update workspace info, webhook URL, or headers


Ā ā ļø Deleting a workspace will break all assigned subaccounts.
- Custom CRM integration
- SaaS messaging backend
- AI / Bot platform
- Marketing automation tools
- Appointment systems
Your webhook client should expect the following responses from myCRMSIM when sending messages.
- The event has been validated
- The message is queued successfully
- Delivery will be processed asynchronously
- MissingĀ location_id
- Missing or emptyĀ message_id
- InvalidĀ channelĀ value
- Invalid phone number format
- Always validate payloads before sending
- TreatĀ HTTP 200Ā asĀ accepted, not delivered
- Rely onĀ STATUS-UPDATEĀ events for final delivery state
- Implement retry logic only for non-200 responses
- Do not retry blindly onĀ 400 errors
- Send messageĀ ā receive HTTP 200
- Wait forĀ STATUS-UPDATEĀ callbacks
- ProcessĀ inbound MESSAGEĀ events
