Sophiie
Manage your Sophiie sales pipeline — leads, inquiries, appointments, FAQs, policies, SMS, and calls
- Rating
- 4.4 (490 reviews)
- Downloads
- 2,992 downloads
- Version
- 1.0.0
Overview
Manage your Sophiie sales pipeline — leads, inquiries, appointments, FAQs, policies, SMS, and calls via the Sophiie.
Complete Documentation
View Source →
Sophiie — Sales Pipeline Management
Sophiie is a B2B SaaS platform for sales pipeline management. Organizations get AI-powered virtual assistant agents that handle calls, SMS, and lead management. This skill lets you manage your Sophiie pipeline via natural language.
Authentication
All requests use Authorization: Bearer where the key is SOPHIIE_API_KEY. Keys are prefixed sk_live_ (production) or sk_test_ (sandbox).
- Base URL:
https://api.sophiie.ai - Rate limit: 60 requests/minute
- All responses: JSON
External Endpoints
| Method | URL | Data Sent |
|---|---|---|
| GET | https://api.sophiie.ai/v1/leads | Query: page, limit |
| GET | https://api.sophiie.ai/v1/leads/{id} | None |
| POST | https://api.sophiie.ai/v1/leads | Body: firstName, lastName, email, phone, suburb, businessName, socials |
| PUT | https://api.sophiie.ai/v1/leads/{id} | Body: firstName, lastName, email, phone, suburb, businessName, socials |
| DELETE | https://api.sophiie.ai/v1/leads/{id} | None |
| GET | https://api.sophiie.ai/v1/leads/{id}/notes | Query: page, limit |
| GET | https://api.sophiie.ai/v1/leads/{id}/activities | Query: page, limit |
| GET | https://api.sophiie.ai/v1/inquiries | Query: page, limit, leadId, expand |
| GET | https://api.sophiie.ai/v1/inquiries/{id} | None |
| GET | https://api.sophiie.ai/v1/appointments | Query: page, limit, leadId |
| POST | https://api.sophiie.ai/v1/calls | Body: name, phoneNumber, mode, custom_instructions |
| POST | https://api.sophiie.ai/v1/sms | Body: userId, leadId, message, messageThreadId |
| GET | https://api.sophiie.ai/v1/faqs | Query: page, limit |
| POST | https://api.sophiie.ai/v1/faqs | Body: question, answer, isActive |
| PUT | https://api.sophiie.ai/v1/faqs/{id} | Body: question, answer, isActive |
| DELETE | https://api.sophiie.ai/v1/faqs/{id} | None |
| GET | https://api.sophiie.ai/v1/policies | Query: page, limit |
| POST | https://api.sophiie.ai/v1/policies | Body: title, content, isActive |
| PUT | https://api.sophiie.ai/v1/policies/{id} | Body: title, content, isActive |
| DELETE | https://api.sophiie.ai/v1/policies/{id} | None |
| GET | https://api.sophiie.ai/v1/members | Query: page, limit |
| GET | https://api.sophiie.ai/v1/organization | None |
| GET | https://api.sophiie.ai/v1/organization/availability | None |
| GET | https://api.sophiie.ai/v1/organization/members | Query: page, limit |
| GET | https://api.sophiie.ai/v1/organization/services | None |
| GET | https://api.sophiie.ai/v1/organization/products | None |
Security & Privacy
- The
SOPHIIE_API_KEYis never logged, printed, or echoed in output - All requests use HTTPS only
- No data is cached locally — every command fetches live from the API
- All user input is sanitized via
jq -n(never string-interpolated into JSON bodies) - The skill has read-only access to
SOPHIIE_API_KEY— it cannot modify or delete the environment variable
Command Reference
All commands are run via scripts/sophiie.sh .
Leads
leads list — List all leads in the pipeline
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
leads get — Get full details for a specific lead
Use when the user asks about a specific lead by name or ID. Lead IDs start with ld_.
leads create — Create a new lead
--firstName <name> Required (min 2 chars)
--suburb <suburb> Required
--lastName <name> Optional
--email <email> Optional (valid email)
--phone <number> Optional (E.164 format, e.g. +61412345678)
--businessName <name> Optional
--instagram <handle> Optional
--facebook <handle> Optional
leads update — Update an existing lead
Same options as create, but all are optional. At least one field must be provided.
Use when the user wants to change lead details.
leads delete — Delete a lead (soft delete)
Use when the user explicitly asks to remove a lead. Always confirm before deleting.
leads notes — List notes for a lead
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
leads activities — List activity log for a lead
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
Inquiries
inquiries list — List all inquiries
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
--leadId <id> Filter by lead ID (ld_...)
--expand <type> Expand related data: "external", "lead", or "both"
inquiries get — Get full inquiry details with source data
Returns the inquiry with expanded source data (call transcripts, SMS messages, webform submissions, etc.) depending on the inquiry source type (CALL, SMS, EMAIL, CHATBOT, WEBFORM).
Use when the user wants details on a specific inquiry.
FAQs
faqs list — List all FAQs
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
faqs create — Create a new FAQ
--question <text> Required (max 255 chars)
--answer <text> Required
--isActive <bool> Optional (true/false)
faqs update — Update an FAQ (ID is a number)
Same options as create, all optional.
Use when the user wants to change an existing FAQ entry.
faqs delete — Delete an FAQ (soft delete)
Always confirm before deleting.
Policies
policies list — List all policies
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
policies create — Create a new policy
--title <text> Required (min 2, max 255 chars)
--content <text> Required (min 2 chars)
--isActive <bool> Optional (true/false)
policies update — Update a policy (ID is a number)
Same options as create, all optional.
policies delete — Delete a policy (soft delete)
Always confirm before deleting.
Communication
calls send — Initiate an outbound AI call
--name <name> Required — name of person being called
--phoneNumber <number> Required — E.164 format (e.g. +61412345678)
--mode <mode> Optional — "normal" (default) or "transfer_only"
--custom_instructions <text> Optional — required when mode is "transfer_only"
sms send — Send an SMS message
--userId <id> Required — sender user ID (usr_...)
--leadId <id> Required — recipient lead ID (ld_...)
--message <text> Required — message text (min 2 chars)
--messageThreadId <n> Optional — existing thread ID (number); omit to start new thread
members list first if needed.Appointments
appointments list — List all appointments
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
--leadId <id> Filter by lead ID (ld_...)
Organization
org get — Get organization details (name, timezone, currency, etc.)
Use when the user asks about their org settings or business info.
org availability — Get business hours / availability schedules
Use when the user asks about working hours or availability.
org members — List organization members with roles
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
org services — List services offered (grouped by category)
Use when the user asks about their service offerings.
org products — List products offered (grouped by category)
Use when the user asks about their product catalog.
Members
members list — List all organization members
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
Decision Guide
| User intent | Command(s) |
|---|---|
| "Check my pipeline" / "Show leads" | leads list |
| "Tell me about [lead name]" | leads list → find by name → leads get |
| "Add a new lead" / "New contact" | leads create |
| "Update [lead]'s phone number" | leads update |
| "Remove this lead" | leads delete |
| "What inquiries came in?" | inquiries list |
| "Show me that call transcript" | inquiries get |
| "Any appointments today?" | appointments list |
| "Call [person]" / "Ring [number]" | calls send (confirm number first) |
| "Text [lead] about [topic]" | members list → get userId → sms send |
| "Update the knowledge base" | faqs list → then faqs create or faqs update |
| "Add a refund policy" | policies create |
| "What are our business hours?" | org availability |
| "Who's on the team?" | members list or org members |
| "What services do we offer?" | org services |
Pagination
All list endpoints return paginated responses:
{
"items": [...],
"totalPages": 5,
"currentPage": 1,
"totalCount": 237
}
- Default: page 1, 50 items per page
- Maximum: 100 items per page
- Always check
totalPages— if there are more pages, tell the user and offer to fetch the next page
Error Reference
| Code | Meaning | What to tell the user |
|---|---|---|
| 401 | Invalid or missing API key | "Your API key appears to be invalid. Check SOPHIIE_API_KEY." |
| 404 | Resource not found | "That [lead/inquiry/etc.] wasn't found. Double-check the ID." |
| 409 | Conflict (duplicate lead) | "A lead with that info already exists." |
| 429 | Rate limited | "Too many requests. Wait a moment and try again." |
| 500 | Server error | "Something went wrong on Sophiie's end. Try again shortly." |
{
"success": false,
"message": "...",
"error": { "status": 401, "message": "..." }
}
Installation
openclaw install sophiie
💻Code Examples
**`leads list`** — List all leads in the pipeline
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)**`leads create`** — Create a new lead
--firstName <name> Required (min 2 chars)
--suburb <suburb> Required
--lastName <name> Optional
--email <email> Optional (valid email)
--phone <number> Optional (E.164 format, e.g. +61412345678)
--businessName <name> Optional
--instagram <handle> Optional
--facebook <handle> Optional**`leads notes <id>`** — List notes for a lead
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)**`leads activities <id>`** — List activity log for a lead
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)**`inquiries list`** — List all inquiries
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)
--leadId <id> Filter by lead ID (ld_...)
--expand <type> Expand related data: "external", "lead", or "both"**`faqs list`** — List all FAQs
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)**`faqs create`** — Create a new FAQ
--question <text> Required (max 255 chars)
--answer <text> Required
--isActive <bool> Optional (true/false)**`policies list`** — List all policies
--page <n> Page number (default: 1)
--limit <n> Items per page (default: 50, max: 100)**`policies create`** — Create a new policy
--title <text> Required (min 2, max 255 chars)
--content <text> Required (min 2 chars)
--isActive <bool> Optional (true/false)**`calls send`** — Initiate an outbound AI call
--name <name> Required — name of person being called
--phoneNumber <number> Required — E.164 format (e.g. +61412345678)
--mode <mode> Optional — "normal" (default) or "transfer_only"
--custom_instructions <text> Optional — required when mode is "transfer_only"Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.