Sending Messages from Your CRM
Disclaimer: This guide is intended as a general reference. For optimal configuration and performance, we recommend coordinating with both your CRM provider and your APEX Messaging account manager when implementing automation workflows.
APEX Messaging is designed to integrate directly with CRMs and business systems that trigger messages as part of workflows, automations, or customer journeys.
When an event occurs in your CRM (for example, a lead update, deal stage change, or transaction confirmation), your system sends a request to APEX Messaging to route and deliver the message across the appropriate channel.
Common CRM Platforms:
- HubSpot
- Salesforce
- Pipedrive
- Zoho
- Microsoft Dynamics
- Custom CRMs and internal systems
Any platform capable of executing an outbound HTTP request from a workflow or automation can integrate with APEX Messaging.
Important Terminology Clarification
Some CRMs refer to outbound workflow actions as “webhooks”.
For clarity:
- Message submission from your CRM to APEX Messaging is an outbound API call
- Webhooks are used only for event notifications sent by APEX Messaging back to your system
This distinction is important for understanding retries, authentication, and delivery guarantees.
How CRM Integrations Typically Work
Most CRMs support workflow-driven outbound HTTP requests.
These are often labelled in CRM interfaces as:
- Webhook actions
- HTTP requests
- Custom actions
- External callouts
Despite the naming, these are outbound API requests initiated by your CRM when a workflow condition is met.
APEX Messaging receives these requests via its HTTP API and handles message routing, delivery, and compliance.
Integration Flow (High Level)
- An event occurs in your CRM
- (e.g. deal closed, appointment scheduled, payment received)
- A workflow or automation rule is triggered
- The CRM executes an outbound HTTP POST request to APEX Messaging
- APEX Messaging validates the request and submits the message to the relevant channel (SMS, WhatsApp, etc.).
- Message lifecycle events are later returned to your system via webhooks (see Receiving Events via Webhooks)
What Your CRM Sends to APEX Messaging
Your CRM sends a JSON payload to the APEX Messaging API containing the message details.
Common fields include:
- Destination (MSISDN / recipient)
- Message content or template reference
- Sender ID or WhatsApp Business profile
- Channel selection
- Optional metadata for tracking or correlation
All requests must be authenticated using your APEX Messaging API credentials.
Synchronous Response Handling
APEX Messaging responds immediately to message submission requests with an acceptance or validation response.
Typical responses include:
- Message accepted for processing
- Validation error (missing or invalid parameters)
- Authentication failure
- Rate limiting
This allows your CRM workflow to determine whether the message submission succeeded at the API level.
Receiving Message Events (Delivery Receipts & Status Updates)
After a message is submitted, APEX Messaging generates lifecycle events such as:
- Submitted
- Delivered
- Failed
- Read (where supported)
These events are delivered to your system using webhooks.
See Receiving Events via Webhooks for full details on configuring and handling event callbacks (Coming Soon)
Channel-Specific Configuration
APEX Messaging accepts message submissions as JSON payloads.
When configuring your CRM workflow or automation, the JSON body you send should follow the parameter structure defined in the relevant channel API documentation (e.g. SMS, WhatsApp).
This allows CRM fields to be mapped directly to the required channel parameters without any additional transformation.
Summary
- CRMs send messages to APEX Messaging using workflow-triggered HTTP API requests
- Payloads are sent as JSON
- Authentication is handled via API credentials
- No special CRM plugins are required — only standard HTTP support
If you have any questions, feel free to get in touch. You can also refer to the channel-specific API documentation for detailed configuration options.
