Ravi login
Sign up for and log into services using your Ravi identity — handles forms, 2FA, OTPs, and credential storage. Do NOT use for standalone inbox reading (use r...
Description
name: ravi-login description: Sign up for and log into services using your Ravi identity — handles forms, 2FA, OTPs, and credential storage. Do NOT use for standalone inbox reading (use ravi-inbox) or email sending (use ravi-email-send).
Ravi Login
End-to-end workflows for signing up, logging in, and completing verification using your Ravi identity.
Your Name
When a form asks for your name, use your identity name — not the account owner's name. Identity names look like real human names (e.g. "Sarah Johnson").
# Get identity name — split into first/last for form fields
IDENTITY=$(ravi identity list --json | jq -r '.[0]')
NAME=$(echo "$IDENTITY" | jq -r '.name')
FIRST_NAME=$(echo "$NAME" | awk '{print $1}')
LAST_NAME=$(echo "$NAME" | awk '{print $2}')
Note: This first/last split works for auto-generated names (e.g. "Sarah Johnson"). For custom identity names (e.g. "Shopping Agent"), use the full name as-is or adapt the split to your form's requirements.
Never use ravi get owner for form fields. The owner is the human behind the account — the identity name is your name.
Sign up for a service
# 1. Get your identity
EMAIL=$(ravi get email --json | jq -r '.email')
PHONE=$(ravi get phone --json | jq -r '.phone_number')
# 2. Fill the signup form with $EMAIL, $PHONE, and identity name
# 3. Generate and store a password
CREDS=$(ravi passwords create example.com --username "$EMAIL" --json)
PASSWORD=$(echo "$CREDS" | jq -r '.password')
# Use $PASSWORD in the signup form
# 4. Wait for verification
sleep 5
ravi inbox sms --unread --json # Check for SMS OTP
ravi inbox email --unread --json # Check for email verification
Log into a service
# Find stored credentials
ENTRY=$(ravi passwords list --json | jq -r '.[] | select(.domain == "example.com")')
UUID=$(echo "$ENTRY" | jq -r '.uuid')
# Get decrypted credentials
CREDS=$(ravi passwords get "$UUID" --json)
USERNAME=$(echo "$CREDS" | jq -r '.username')
PASSWORD=$(echo "$CREDS" | jq -r '.password')
# Use $USERNAME and $PASSWORD to log in
Complete 2FA / OTP
# After triggering 2FA on a website:
sleep 5
CODE=$(ravi inbox sms --unread --json | jq -r '.[0].preview' | grep -oE '[0-9]{4,8}' | head -1)
# Use $CODE to complete the login
Extract a verification link from email
THREAD_ID=$(ravi inbox email --unread --json | jq -r '.[0].thread_id')
ravi inbox email "$THREAD_ID" --json | jq -r '.messages[].text_content' | grep -oE 'https?://[^ ]+'
Tips
- Poll, don't rush — SMS/email delivery takes 2-10 seconds. Use
sleep 5before checking. - Store credentials immediately — create a passwords entry during signup so you don't lose the password.
- Identity name for forms — always use the identity name, not the owner name.
- Rate limits apply to sending — 60 emails/hour, 500/day. See
ravi-email-sendskill for details. - Email quality matters — if you need to send an email during a workflow (e.g., contacting support), see ravi-email-writing for formatting and anti-spam tips.
Related Skills
- ravi-identity — Get your email, phone, and identity name for form fields
- ravi-inbox — Read OTPs, verification codes, and confirmation emails
- ravi-email-send — Send emails during workflows (support requests, confirmations)
- ravi-email-writing — Write professional emails that avoid spam filters
- ravi-passwords — Store and retrieve website credentials after signup
- ravi-secrets — Store API keys obtained during service registration
- ravi-feedback — Report login flow issues or suggest workflow improvements
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!