Use cases
What AI agents do with OneLi, with request and result examples.
Each scenario shows what the agent sends, where a consultation may happen and what comes back. Examples are trimmed: a real request also needs idempotency_key and to_number.
Personal assistant books a doctor, garage or hairdresser
- Situation
- The user writes “book my car in for its 10,000 km service this week”. The agent knows from the calendar when the user is free.
- Mid-call consultation
- The garage only offers a time outside the given slots, or a price above the cap. The voice agent asks; your agent checks the calendar or asks the user.
- What comes back
- outcome goal_achieved with the slot in the summary. The agent adds it to the calendar.
POST /v1/call-tasks
{
"to_number": "03-XXXXXXX",
"goal": "לקבוע טיפול 10,000 לרכב השבוע",
"instructions": "חלונות פנויים: ג׳ 08:00-10:00, ה׳ אחרי 16:00. לשאול כמה זמן הטיפול לוקח.",
"constraints": { "max_price_ils": 900, "fallback": "לאסוף את המועדים הפנויים ולסיים בנימוס" }
}Restaurant booking with fallback times
- Situation
- “Book us a table for four on Friday evening.”
- Mid-call consultation
- 20:00 is full and they offer 18:30 or 21:30. The voice agent asks which one works.
- What comes back
- A confirmed booking, or needs_user_input with the alternatives offered.
POST /v1/call-tasks
{
"goal": "להזמין שולחן ל-4 סועדים ביום שישי ב-20:00",
"instructions": "אם 20:00 תפוס, לשאול על 19:30 עד 21:00. שם להזמנה: דנה."
}Comparing quotes from three suppliers
- Situation
- “Get a price for moving a 3-room flat from Tel Aviv to Haifa.” The agent creates three tasks, one per supplier, with the same goal.
- Mid-call consultation
- Usually none: this is an inquiry. A consultation only happens if a supplier asks for a commitment.
- What comes back
- Three summaries. The agent compares them and shows the user a table and a recommendation.
Node.js
// one task per supplier, each with its own idempotency_key
for (const s of suppliers) await oneli("POST", "/v1/call-tasks", {
idempotency_key: `move-quote-${s.id}`,
to_number: s.phone,
goal: "לקבל הצעת מחיר להובלת דירת 3 חדרים מתל אביב לחיפה ב-15 בחודש",
instructions: "לא להתחייב. לשאול מה כלול במחיר והאם יש מע״מ.",
});Following up on an order or delivery
- Situation
- The order is late. The agent calls the shop with the order number.
- Mid-call consultation
- The shop offers a refund instead of delivery. The voice agent asks before agreeing.
- What comes back
- An updated delivery date in the summary, or a decision handed back to the user.
Chat prompt (MCP)
״תתקשר לחנות ותברר מה קורה עם הזמנה 58213 שהייתה אמורה להגיע אתמול״Rescheduling or cancelling an appointment
- Situation
- “Cancel Monday’s dentist appointment and ask for a slot next week.”
- Mid-call consultation
- The only new slot is in the morning. The voice agent asks whether to accept.
- What comes back
- Old slot cancelled and a new one booked, or only the cancellation with needs_user_input.
POST /v1/call-tasks
{
"goal": "לבטל את התור של יעל כהן ביום שני ב-10:00 ולקבוע תור חדש בשבוע הבא",
"instructions": "מועד חדש רק אחרי 15:00. אם אין, לבטל בכל זאת ולשאול מתי כדאי לחזור."
}Checking availability or stock in a store
- Situation
- Before driving over, the agent checks whether an item is in stock at the nearest branch.
- Mid-call consultation
- Only a similar model is available. The voice agent asks whether to have it put aside.
- What comes back
- Yes or no, price and opening hours in the summary.
Chat prompt (MCP)
״תברר אם יש בסניף בהרצליה מקדחה בוש GSB 18V במלאי, ועד מתי פתוח היום״B2B: confirming meetings with leads the day before
- Situation
- Your sales system creates one task per meeting tomorrow, with the client’s name and time.
- Mid-call consultation
- The client asks to move it. The voice agent asks; your webhook checks the rep’s calendar and answers approve or ask_user.
- What comes back
- Confirmed, moved (new time in the summary) or cancelled. The result goes back to the CRM.
POST /v1/call-tasks
{
"idempotency_key": "meeting-8812-confirm",
"goal": "לאשר את הפגישה עם משה מחר ב-11:00 במשרדי החברה",
"instructions": "אם צריך להזיז, להציע מחר 14:00-17:00 או ביום ה׳ בבוקר.",
"dynamic_variables": { "opening_line": "שלום משה, אני עוזרת דיגיטלית מטעם צוות המכירות, מתקשרת לגבי הפגישה של מחר." }
}Operations: chasing a contractor for a status update
- Situation
- Work on site is running late. The ops agent calls the contractor to ask when it will be finished and what is missing.
- Mid-call consultation
- The contractor asks for extra payment. The voice agent asks; answering ask_user hands the decision to the person in charge.
- What comes back
- An estimated finish date and a list of what is missing, for the project system.
POST /v1/call-tasks
{
"goal": "לברר מתי תסתיים עבודת האינסטלציה בדירה ברחוב הרצל 12 ומה מעכב",
"instructions": "לא לאשר תוספות תשלום. לבקש תאריך סיום מחייב."
}Support agent escalates to a phone call with a business
- Situation
- Your product’s support agent cannot resolve something in writing with a vendor (a lab, a courier). It opens a call task with the full context.
- Mid-call consultation
- The vendor offers a fix that needs approval. The decision reaches the support agent, which answers by your policy.
- What comes back
- A resolution or a ticket number in the summary, which the agent passes on to the customer.
POST /v1/call-tasks
{
"goal": "לברר למה משלוח 7741 עדיין לא נאסף ולקבל מועד איסוף חדש",
"instructions": "מספר לקוח 220431. לבקש מספר פנייה.",
"max_duration_s": 300
}Automation: new form lead → confirmation call → write back to CRM
- Situation
- In n8n or Make: new form → a call task that confirms the details and agrees a time for a follow-up → wait → read the result → update the CRM.
- Mid-call consultation
- Usually none. A webhook can answer by fixed rules.
- What comes back
- outcome and summary are written to the lead record.
POST /v1/call-tasks
{
"idempotency_key": "lead-{{ lead.id }}",
"to_number": "{{ lead.phone }}",
"goal": "לאשר שהפנייה על {{ lead.topic }} רלוונטית ולתאם שעה לשיחה עם נציג",
"instructions": "להציג את עצמך כעוזרת דיגיטלית של העסק. אם לא מעוניינים, להודות ולסיים."
}What OneLi does not do
- No inbound calls. Every call is outbound, started by your agent.
- Israeli numbers only: mobile 05X, landline 02/03/04/08/09 and 07X.
- Not for marketing, telemarketing or cold calls. The person called can ask not to be called again, and that applies to every account. There is also a daily limit per number.
- The voice agent always introduces itself as a digital assistant, even with a custom opening_line.
- No live audio API. You get the transcript, events and a summary.