Authenticate requests from ActiveDEMAND using the GHL-provided credentials. Use OAuth tokens or API keys with the smallest viable scope (conversations.readonly for view-only or full access for write actions). Store credentials securely, rotate regularly, and respect rate limits.
ActiveDEMAND uses its own API credentials to authenticate outbound calls to GHL. Configure a dedicated integration user, apply least-privilege scopes, and keep credentials in a secure vault. Validate tokens before each call.
GET /conversations/:conversationsId; GET /conversations/search; conversations.write; POST /conversations/; PUT /conversations/:conversationsId; DELETE /conversations/:conversationsId; conversations/message.readonly; GET conversations/messages/:messageId/locations/:locationId/recording; GET conversations/locations/:locationId/messages/:messageId/transcription; GET conversations/locations/:locationId/messages/:messageId/transcription/download; conversations/message.write; POST /conversations/messages; POST /conversations/messages/inbound; POST /conversations/messages/upload; PUT /conversations/messages/:messageId/status; DELETE /conversations/messages/email/:emailMessageId/schedule
Trigger whenever a conversation is created or updated in ActiveDEMAND and immediately mirror changes to GHL.
Actions: upsert the corresponding GHL Conversation, push new messages, and update the status as needed.
Method/Path: Use POST /conversations/ to create and PUT /conversations/:conversationsId to update; GET for retrieval.
Key fields: conversationsId, messages, locationId, messageId, status, transcription, recording
Trigger: Incoming messages from clients arrive via ActiveDEMAND and should be routed to GHL Conversations.
Actions: post inbound messages to /conversations/messages/inbound and create or update related conversations; propagate metadata.
POST /conversations/messages/inbound
Key fields: messageId, conversationsId, inboundSource, sender, timestamp
Trigger: A message with media is uploaded or a transcription is created for a message.
Actions: upload media (/conversations/messages/upload), optionally fetch recordings (/conversations/messages/:messageId/locations/:locationId/recording) and transcription (/transcription) and attach to contact history.
POST /conversations/messages/upload; GET /conversations/messages/:messageId/transcription; GET /conversations/messages/:messageId/transcription/download; GET /conversations/messages/:messageId/locations/:locationId/recording
Key fields: messageId, locationId, recordingUrl, transcriptionUrl
Automated data sync reduces manual data entry and keeps contact histories consistent.
Unified customer view across ActiveDEMAND and GHL improves engagement and reporting.
Scalability: scale conversations with automated triggers and templates without writing code.
This glossary explains API endpoints, authentication, and the flow of data between ActiveDEMAND and the GHL Conversations API, including triggers, actions, and field mapping.
A specific URL and HTTP method that performs an action in an API, such as retrieving a conversation or posting a message.
The process of proving identity and permission to call API endpoints, typically via tokens or keys.
A thread of messages within GHL tied to a contact or lead, used for support and engagement.
A message that arrives from a client or external source and triggers a workflow in the integration.
Set up a workflow that mirrors status changes in ActiveDEMAND to the corresponding GHL Conversation to keep teams aligned.
Use transcription data to route conversations to the right team and trigger alerts in ActiveDEMAND.
Attach recordings and transcripts to contact timelines to provide context for agents.
Create and securely store tokens for both systems, then test the connection.
Define mapping between ActiveDEMAND fields and GHL Conversations fields to ensure accurate data transfer.
Run end-to-end tests, monitor error logs, and deploy the integration with alerts.
No hard coding is required to get started, but you will configure API credentials and use your integration tool or HTTP actions to call the endpoints. Begin with read endpoints to verify access, then add write endpoints as you validate flows. Refer to endpoint docs for examples and payload schemas.
GHL supports token-based API authentication and OAuth flows. For ActiveDEMAND, use a service account token and keep credentials secure in a vault. Rotate keys regularly and apply the principle of least privilege.
For a basic sync, start with GET /conversations/:conversationsId, GET /conversations/search, and POST /conversations/ to list and create conversations. Add POST /conversations/messages to push messages and optionally GET /conversations/messages/:messageId/transcription for transcripts as needed.
Yes. Transcriptions can be retrieved via GET /conversations/locations/:locationId/messages/:messageId/transcription and downloaded with /transcription/download. Recordings are accessible via GET /conversations/messages/:messageId/locations/:locationId/recording.
Inbound messages are handled with POST /conversations/messages/inbound or POST /conversations/messages/upload. Ensure routing and metadata are preserved so the message attaches to the correct conversation.
Yes, rate limits apply per endpoint. Plan for retries and exponential backoff, monitor usage, and design idempotent calls where possible.
Map core fields such as conversationsId, messageId, locationId, and timestamps between ActiveDEMAND and GHL. Maintain consistent IDs across systems to ensure reliable synchronization.
Due to high volume, we will be upgrading our server soon!
Complete Operations Catalog - 126 Actions & Triggers