shell-crm Sensor
What it ingests
CRM records from a shell-crm deployment — Companies, Contacts, Deals, Partnerships, Opportunities, Contracts, and Follow-ups. Read-only, with per-entity error isolation.
Credential
References a shellcrm_api_key credential by id. The secret is a shell-crm API key — a client_id:client_secret string — sent verbatim as the Bearer token on every call. Mint one in shell-crm via POST /admin/oauth-clients with the read scopes you want this sensor to use; the issued client_id:client_secret is the API key.
curl -sS -X POST https://your-corveil-host/api/credentials \
-H "Authorization: Bearer <admin>" -H "Content-Type: application/json" \
-d '{"type":"shellcrm_api_key","name":"acme-crm-key","secret":"<client_id>:<client_secret>"}'Config fields
| Key | Required | Notes |
|---|---|---|
base_url | yes | Root URL of the shell-crm deployment (no trailing slash). Must be https unless pointing at a loopback host for local dev. |
enabled_entities | no | Comma-separated entity names. Blank polls every supported entity. Unknown names are rejected at configure time. |
default_entity_type | no | Override the ontology entity type produced from each record. Blank uses the per-entity fallback (Organization for companies, Project for deals, etc.). Validated against the org taxonomy on save. |
Supported entity names: companies, contacts, deals, partnerships, opportunities, contracts, follow-ups.
Provider-side setup
- In shell-crm,
POST /admin/oauth-clientswith the read scopes this sensor should have. - Copy the issued
client_id:client_secret— that's the API key secret above. - Note the deployment's base URL for
base_url.
Wire-up
POST /api/sensors
{
"sensor_type": "shellcrm",
"name": "Acme CRM",
"config": {
"base_url": "https://crm.acme.com",
"enabled_entities": "companies, deals, contacts"
},
"credentials": { "api_key": "<shellcrm_api_key credential id>" }
}Verify
Run Test connection to confirm the base URL and API key authenticate. Once polling, records from the enabled entities appear as their mapped ontology entities.