Short answer: You can bulk‑upload contacts from a CSV/XLS file in the Web Dashboard. OBD campaigns don’t accept manual uploads; use the OBD API instead.
Applies to: Web Dashboard (latest UI) • Role required: Admin or user with Contacts → Manage permission
ℹ️ Mobile: Bulk upload is web‑only. Use a desktop browser for this task.
Roles & access
Role | Default Access |
Admin | Full access, including bulk upload/delete |
Manager | Can view/add/update contacts (if granted) |
Agent | Usually read‑only (request permission if needed) |
Use the following schema. Fields marked Required must be present. Extra columns are ignored unless mapped.
Field | Required | Type/Format | Max length | Notes |
phone_number | ✅ | E.164 (e.g., | 20 | Used as unique key for upsert |
name | ➖ | Text | 120 | Person or company name |
company | ➖ | Text | 120 | Organization name |
➖ | 120 | Valid email format | ||
tags | ➖ | Comma‑separated | 255 | e.g., |
notes | ➖ | Text | 500 | Free‑form notes |
visibility | ➖ | Enum | — |
|
Sample CSV (copy‑paste):
phone_number,name,company,email,tags,notes,visibility+919876543210,Asha Rao,Acme India,asha.rao@example.com,prospect,met at expo,public+911234567890,Vikram M,,vikram@example.com,priority,,privateValidation rules
phone_number in file → last occurrence wins.phone_number → Phone Number, name → Name, tags → Tags.Inline diagram (process flow)
After a successful import:
Quick verification checklist
Manual uploads to OBD campaigns are not supported. To queue contacts for outbound dialing, use the OBD API.
cURL template (copy‑paste & edit):
curl -X POST \ 'https://api.myoperator.com/v1/obd/campaigns/{CAMPAIGN_ID}/queue' \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "contacts": [ {"phone_number": "+919876543210", "name": "Asha Rao"}, {"phone_number": "+911234567890", "name": "Vikram M"} ], "callback_url": "https://yourapp.example.com/obd/callback" }'🔗 See also: OBD: Queue contacts via API (endpoint, auth, rate limits, request/response models).
Symptom / Error text | Likely cause | Fix |
“File type not supported” | Wrong extension or corrupted file | Save as CSV/XLS (UTF‑8). Re‑export from your sheet tool. |
“Invalid phone number at row X” | Not in E.164; has spaces/dashes | Clean numbers → |
“Duplicate phone number” | Row repeats within file | Keep just one row or ensure duplicates carry the latest values. |
“Some rows were skipped” | Missing required field(s) | Ensure |
Export button disabled | Heavy filters/date range | Reduce the date range or clear filters, re‑try. |
CSV shows garbled characters | Wrong encoding | Import as UTF‑8 in Excel (Data → From Text/CSV → File Origin: UTF‑8) or open in Google Sheets. |
Upload stalls on large files | Browser/memory limits | Split into chunks of ≤100k rows; upload sequentially. |
phone_number updates the record.phone_number is required; others are optional.tags overwrite the tag list. (If your org prefers append, contact Support to enable.)Embed this JSON‑LD in the help‑center page for richer search results.
<script type="application/ld+json">{ "@context": "https://schema.org", "@type": "HowTo", "name": "Upload a contact list in MyOperator", "tool": ["Web Dashboard"], "totalTime": "PT5M", "step": [ {"@type": "HowToStep", "name": "Open Contacts", "text": "Go to Manage → Contacts in the MyOperator Dashboard."}, {"@type": "HowToStep", "name": "Upload file", "text": "Click Upload Contacts and select your CSV/XLS file."}, {"@type": "HowToStep", "name": "Map columns", "text": "Match CSV headers to MyOperator fields (phone_number, name, etc.)."}, {"@type": "HowToStep", "name": "Review & confirm", "text": "Review counts to add/update/skip and confirm import."} ]}</script><script type="application/ld+json">{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ {"@type": "Question", "name": "What file formats are supported?", "acceptedAnswer": {"@type": "Answer", "text": "CSV and XLS (UTF‑8 recommended)."}}, {"@type": "Question", "name": "Which fields are required?", "acceptedAnswer": {"@type": "Answer", "text": "Only phone_number is required; other fields are optional."}}, {"@type": "Question", "name": "How many rows can I upload at once?", "acceptedAnswer": {"@type": "Answer", "text": "Up to 100,000 rows per upload is recommended for stability."}} ]}</script>upload contacts CSV, MyOperator contacts import, bulk contact upload, contact CSV template, E.164 phone format, OBD API queue contacts, manage contacts, bulk edit contacts