Real-World Scenarios
Software evaluation
An agent evaluating project management tools for your team:
- Signs up for Asana trial (email verification)
- Signs up for Monday.com trial (email verification)
- Signs up for ClickUp trial (phone verification)
- Signs up for Notion trial (email verification)
- Receives all onboarding emails
- Accesses each platform, compares features
- Reports findings
Without Ravi: 4 separate verification interruptions, marketing emails flooding your personal inbox.
With Ravi: Fully autonomous. All verifications handled. All marketing emails stay in the agent’s inbox.
# For each service
EMAIL=$(ravi get email --json | jq -r '.email')
CREDS=$(ravi passwords create asana.com --username "$EMAIL" --json)
PASSWORD=$(echo "$CREDS" | jq -r '.password')
# Sign up with $EMAIL and $PASSWORD...
# Poll for verification email (retry 15x, 2s apart = 30s timeout)
THREAD_ID=""
for i in $(seq 1 15); do
THREAD_ID=$(ravi inbox email --unread --json | jq -r '.[0].thread_id // empty')
[ -n "$THREAD_ID" ] && break
sleep 2
done
[ -z "$THREAD_ID" ] && echo "ERROR: verification email not received" && exit 1
# Extract verification link
LINK=$(ravi inbox email "$THREAD_ID" --json | jq -r '.messages[].text_content' | grep -oE 'https?://[^ ]+confirm[^ ]*' | head -1)
Price monitoring
An agent tracking prices across e-commerce sites:
- Creates accounts on 15 retailers
- Adds items to wishlists
- Subscribes to price drop alerts
- Receives notifications when prices change
- Aggregates data and reports to you
Without Ravi: Your personal email exposed to 15 retailers, endless marketing emails.
With Ravi: Agent has its own inbox. Your personal info stays private. Agent monitors alerts independently.
Travel booking
An agent booking a trip:
- Creates airline account (email verification)
- Books flight (confirmation to email)
- Creates hotel account (phone verification)
- Books hotel (confirmation to email)
- Receives all confirmations
- Compiles itinerary
Without Ravi: Multiple verification interruptions, your phone number and email shared with travel companies.
With Ravi: Continuous autonomous operation. All confirmations in one place. Your personal info stays private.
Research assistant
An agent conducting market research:
- Signs up for industry publications (email gate)
- Registers for analyst reports (email gate)
- Creates accounts on data platforms (verification required)
- Subscribes to competitor newsletters
- Registers for industry webinars
- Collects and synthesizes information
Without Ravi: Blocked at every email gate. Your inbox polluted with industry spam.
With Ravi: Agent accesses gated content autonomously. Industry emails stay in the agent’s inbox.
Customer service automation
An agent handling support tasks:
- Initiates support ticket (email required)
- Receives ticket confirmation
- Responds to follow-up questions
- Receives resolution confirmation
# Send a support email
ravi email compose \
--to "support@service.com" \
--subject "Order #12345 — delivery question" \
--body "<p>Hi, I'd like to check the delivery status for order #12345.</p>" \
--json
# Poll for reply (retry 30x, 10s apart = 5 min timeout — support replies take longer)
THREAD_ID=""
for i in $(seq 1 30); do
THREAD_ID=$(ravi inbox email --unread --json | jq -r '.[0].thread_id // empty')
[ -n "$THREAD_ID" ] && break
sleep 10
done
[ -z "$THREAD_ID" ] && echo "ERROR: support reply not received within 5 minutes" && exit 1
ravi inbox email "$THREAD_ID" --json | jq -r '.messages[-1].text_content'
The pattern
Every scenario follows the same pattern:
- Get Identity details —
ravi get email --json,ravi get phone --json - Store credentials —
ravi passwords create <domain> --json - Complete verification — poll
ravi inbox sms --unread --jsonorravi inbox email --unread --jsonin a retry loop with a timeout; never usesleep <N>with no retry logic - Operate independently — the agent works without human intervention
The web assumes every user has an email and phone number. Ravi gives your agent both, so it can operate in a world built for humans.
:::caution[Avoid bare sleep for verification polling]
sleep 5 followed by a single inbox check will silently return nothing if delivery is even slightly delayed. Always poll in a loop with a timeout and an explicit error exit. See Troubleshooting for common polling failures.
:::
Next steps
- Service Signup — detailed signup workflow with full polling patterns
- Multi-Agent Setup — running multiple agents
- Troubleshooting — OTP polling timeouts and common errors