Test a location's own Custom System webhook/outbound endpoint. Unlike every other endpoint on this site, system and resource aren't fixed - they're admin-chosen names registered for this location under Manage Custom Systems.
{
"Content-Type": "application/json",
"m4-connect-key": "[your-api-key]"
}system and resource are not fixed, global names like "movoto" or "realtor" - they're admin-chosen, location-private names registered under Manage Custom Systems in the M4 Connect configurator. Two different locations can each register a system called "Zapier" that behave completely independently.
resourceType (contact or opportunity, set when the resource was registered) decides which sync pipeline handles it.ConfigurationClient.getMappings - keyed by a composite "system:resource" string instead of a fixed sub-feature name.contact_id target so the created opportunity is linked to the right GHL contact.outbound-direction rows (GHL field → destination field name), applies the system's configured auth, and POSTs the result to its configured outbound URL.SYSTEM_NOT_FOUND / RESOURCE_NOT_FOUND (404) - no active system/resource by that name for this location.DIRECTION_NOT_SUPPORTED (400) - the resource isn't configured to accept this direction.OUTBOUND_URL_NOT_CONFIGURED (400) - outbound only: the system has no target URL set yet.GHL_SYNC_FAILED (502) - inbound only: the record was created but the GHL push failed.OUTBOUND_CALL_FAILED (502) - outbound only: the record was mapped but the outbound HTTP call failed.See docs/API_CUSTOM_INTEGRATION_INBOUND.md and docs/API_CUSTOM_INTEGRATION_OUTBOUND.md for full field references, response shapes, and cURL examples.