My Profile
Overview
My Profile lets you review and update personal and professional information associated with your account.
Why My Profile Exists
It ensures your organization has up-to-date contact information, professional details, and skills on file. It also helps your coworkers find your correct contact information and recognize you across the platform.
When You Might Use My Profile
- When you first join the company and need to complete your profile.
- When you change your phone number, address, or emergency contacts.
- When you want to update your profile picture.
- When you learn a new professional skill or language.
How to Access My Profile
- Sign in to Optima Orbit.
- Locate your profile/avatar in the top-right corner.
- Click the profile/avatar.
- The personal workspace menu opens.
- Select My Profile.
- The My Profile page opens.
Understanding the My Profile Page
The page is organized into the following main sections:
- Profile Header Card: Displays your current profile picture, name, job title, and department. You can upload a new picture from here.
- Personal Information: Contains your name, bio, date of birth, gender, and full mailing address.
- Professional Details: Shows your job title, department, employee ID, hire date, and employment type.
- Agent Skills: Allows you to list your professional skills and language proficiencies (rated 1 to 10).
- Assigned Territories: Allows you to define geographic coverage areas you are responsible for.
- Contact Information: Contains links to your professional websites (GitHub, LinkedIn, Twitter) and your WhatsApp number.
- Emergency Contacts: Stores the name and phone number of a trusted contact to use in an emergency.
- Application Settings: Let you configure your preferred language, timezone, and which types of notifications you receive (Email, In-App, SMS).
- Security: Displays your Two-Factor Authentication (2FA) status.
Fields and Controls
Personal Information
| Field / Control | What It Means | Required? | Editable? | What Should I Enter? |
|---|---|---|---|---|
| Full Name | Your complete name | Yes | Yes | First and last name. |
| Phone Number | Your primary contact number | No | Yes | Your active mobile or work phone number. |
| Bio | A short description about yourself | No | Yes | A sentence or two about your role or interests. |
| Date of Birth | Your birthday | No | Yes | Select from the date picker. |
| Gender | Your identified gender | No | Yes | Select Male, Female, Other, or Prefer not to say. |
| Mailing Address | Your home or physical address | No | Yes | Enter Street, City, State, Country, and Zip Code. |
Professional Details
| Field / Control | What It Means | Required? | Editable? | What Should I Enter? |
|---|---|---|---|---|
| Job Title | Your official role | No | Yes | E.g., Software Engineer, Account Executive. |
| Department | The team you belong to | No | Yes | E.g., Engineering, Sales, HR. |
| Employee ID | Your company identifier | No | Yes | Your assigned employee ID. |
| Hire Date | When you joined the company | No | Yes | Select from the date picker. |
| Employment Type | Your contract status | No | Yes | Full-time, Part-time, Contract, or Internship. |
Contact Information
| Field / Control | What It Means | Required? | Editable? | What Should I Enter? |
|---|---|---|---|---|
| Website | Your personal or portfolio website | No | Yes | E.g., https://yourwebsite.com |
| GitHub | Your GitHub profile | No | Yes | E.g., github.com/username |
| Your LinkedIn profile | No | Yes | E.g., linkedin.com/in/username | |
| Your Twitter handle | No | Yes | E.g., @username | |
| WhatsApp Number | Your WhatsApp contact | No | Yes | Only numbers (1-15 digits) including country code. |
Emergency Contacts
| Field / Control | What It Means | Required? | Editable? | What Should I Enter? |
|---|---|---|---|---|
| Contact Name | Who to call in an emergency | No | Yes | Name of a spouse, parent, or trusted friend. |
| Contact Phone | Their phone number | No | Yes | A valid phone number where they can be reached. |
Application Settings
| Field / Control | What It Means | Required? | Editable? | What Should I Enter? |
|---|---|---|---|---|
| Preferred Language | Your language for the UI | No | Yes | English, Spanish, French, or German. |
| Timezone | Your local timezone | No | Yes | Used for formatting dates/times across the app. |
| Notification Preferences | How you want to be alerted | No | Yes | Toggle checkboxes for Email, In-app (push), and SMS. |
What Information Can Be Changed?
Almost all fields on the My Profile page are editable directly by you. This includes your contact details, bio, and profile picture. The only restriction is that your WhatsApp Number must only contain numeric digits up to 15 characters.
What Information Cannot Be Changed?
Currently, there are no read-only fields on this screen, giving you full control over your profile record. Note: Two-Factor Authentication (2FA) is currently read-only as the setup module is coming soon.
How to Update Your Profile
- Open My Profile.
- Locate the information you want to update (e.g., your Phone Number).
- Change the text in the editable field.
- Review the information.
- Click the Save Changes button in the top right corner. (If using a mobile device, use the Save button on the bottom action bar).
- Wait for the update to complete.
- A green success message saying "Profile updated successfully" will appear at the top.
Profile Picture / Avatar
You can upload a custom picture to replace the default user icon.
- Hover over your existing picture and click the Camera icon, or click the Change Picture button.
- Select an image file from your computer.
- The image will immediately appear as a preview.
- Important: The image is not saved until you click Save Changes at the top of the page.
Managing Skills and Territories
Unlike standard profile fields, Agent Skills and Assigned Territories save instantly when you add or delete them.
To add a skill:
- Click Add Skill.
- Enter the skill name and select a proficiency level (1-10).
- Click Add Skill in the modal.
To delete a skill:
- Hover over the skill card.
- Click the red trash can icon.
- Confirm the deletion.
Validation and Common Errors
WhatsApp Number Error
If you try to enter letters or symbols into the WhatsApp Number field, or exceed 15 characters, you will receive an error:
WhatsApp number must be 1-15 digits (no special characters or letters).
To fix this, remove any spaces, dashes, or plus signs from your number.
Update Profile Flowchart
How Profile Information Is Used Elsewhere
Your profile picture, full name, and job title appear in the top-right corner dropdown across the entire application. Other users may see your information in team directories or when you are assigned to a task.
Permissions and Access
By default, all authenticated users have access to their own My Profile page. No special organizational permissions are required to edit your own details.
My Profile vs My Preferences
- My Profile controls information about you as a person and professional (e.g., name, phone, bio, skills).
- My Preferences controls how the application behaves for you (e.g., sidebar layout, dock mode).
Troubleshooting
My profile picture didn't save. Did you upload the file but forget to click Save Changes? Uploading the picture only previews it; you must save the form to confirm.
I cannot enable 2FA. The 2FA feature is currently under development. Clicking "Enable 2FA" will show a "coming soon" alert.
Technical Reference
This section is for developers and support engineers troubleshooting the My Profile feature.
- Component:
ProfilePage.tsx(src/routes/ProfilePage.tsx) - Route:
/profile - State Management: Uses local React state
const [profile, setProfile]initialized by a fetch effect. - API Endpoints:
- GET
/user/profile(Load profile data) - PUT
/user/profile(Save profile data)
- GET
- Agent Service Integrations: Skills and Territories are managed via
agentService.ts.- Adding/deleting skills or territories triggers immediate backend requests (
agentService.createSkill,agentService.deleteSkill) rather than batching with the main profile save.
- Adding/deleting skills or territories triggers immediate backend requests (
- Image Handling: The profile picture uses an
<input type="file" accept="image/*">. On change, it is converted to a base64 string usingFileReader.readAsDataURL()and sent within thePUTpayload underprofile_picture_base64. - Validation Constraints: The frontend actively scrubs non-digit characters from
whatsapp_numberduringonChangeand applies aslice(0, 15). On submit, a regex/^\d{1,15}$/enforces the final check. - Mobile Support: Mobile view automatically shows a
<MobileActionBar>with "Back" and "Save" buttons that trigger form submission using event dispatching.