voice-crm-cli
v0.1.0
Published
`agentlog` is the first-party CLI for creating accounts, authenticating, sending logs, and uploading full audio files for processing.
Readme
AgentLog CLI
agentlog is the first-party CLI for creating accounts, authenticating, sending logs, and uploading full audio files for processing.
Server deployments must set DEEPGRAM_API_KEY and should run the 0007_deepgram_diarization.sql migration before accepting audio uploads through the CLI.
Install
npm install -g voice-crm-cli
agentlog --helpFor one-off usage without a global install:
npx voice-crm-cli --helpConfigure
agentlog signup --base-url https://app.agentlog.example \
--email [email protected] \
--full-name "Alex Agent" \
--project "Brickell Team"
agentlog login --base-url https://app.agentlog.example --email [email protected]
agentlog whoamiThe CLI saves credentials in ~/.agentlog/config.json with file mode 0600. You can also use AGENTLOG_BASE_URL and AGENTLOG_API_TOKEN.
Send Text
agentlog logs create --text "Met Maria. Budget is 850k in Brickell. Follow up Friday."
cat note.txt | agentlog logs create --stdin --waitSend Audio
agentlog audio send ./call.mp3
agentlog audio send ./call.mp3 --wait
agentlog audio send ./call.mp3 --apply --yesAudio uploads send the entire file to AgentLog as multipart form data. The API returns immediately with a queued log id:
{
"id": "9f0b6c7e-2f86-4d01-83d5-cc9e5c0e4309",
"status": "queued",
"inputType": "audio",
"createdAt": "2026-05-03T12:00:00.000Z",
"pollUrl": "/api/v1/logs/9f0b6c7e-2f86-4d01-83d5-cc9e5c0e4309"
}Use agentlog logs wait <id> or agentlog audio send <path> --wait to wait for Deepgram diarization and CRM extraction. Completed audio details include a plain transcript plus speakerSegments:
{
"speakerSegments": [
{
"speaker": 0,
"start": 1.17,
"end": 2.89,
"text": "Parker Scarves, how may I help you?"
},
{
"speaker": 1,
"start": 4.08,
"end": 6.04,
"text": "I got a scarf online for my wife."
}
]
}Read Logs
agentlog logs list
agentlog logs search "Brickell buyer"
agentlog logs get <id>
agentlog logs wait <id>
agentlog logs review <id>
agentlog logs apply <id> --yeslogs review shows the extracted CRM payload and proposed actions before writes happen. logs apply approves the processed log and queues CRM writes. To force links to existing CRM records, pass known target ids:
agentlog logs apply <id> --person <person_id> --company <company_id> --opportunity <opportunity_id> --yesThe same target flags work with audio send --apply:
agentlog audio send ./call.mp3 --apply --person <person_id> --company <company_id> --yesHTTP Contract
Developers can upload full audio files directly without chunking:
curl -sS -X POST "$AGENTLOG_BASE_URL/api/v1/logs" \
-H "Authorization: Bearer $AGENTLOG_API_TOKEN" \
-H "Accept: application/json" \
-F "audio=@./call.mp3" \
-F "source=cli_audio_upload"Text logs continue to use JSON:
curl -sS -X POST "$AGENTLOG_BASE_URL/api/v1/logs" \
-H "Authorization: Bearer $AGENTLOG_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"text":"Met Maria. Budget is 850k in Brickell."}'