From Product Sync to
Autonomous Outreach Workflows
HireRosterly Mobile + Cold Calling Agent
Prepared by Hassan
1. Introduction
Week 9 focused on two projects with very different levels of effort. HireRosterly received a smaller but important mobile delivery update, while most of the week was spent moving the Cold Calling Agent from a platform foundation into a practical, controlled outreach system.
The main theme of the week was connection. On HireRosterly, the work connected the latest Web capabilities with the Mobile experience. On Cold Calling Agent, the work connected lead discovery, CRM data, outreach channels, readiness checks, imports, and AI calling architecture into one workflow. The goal was not simply to add screens, but to make each step verifiable and safe before real customer outreach is enabled.
2. HireRosterly: Web-to-Mobile Synchronization
The HireRosterly Mobile application was synchronized with the latest Web-side features. The update covered contracts, gratuity, attendance exceptions, employee profiles, and support for multiple attendance locations. This kept Mobile aligned with the current operational behavior of the Web product instead of allowing the two experiences to drift apart.
The work was intentionally focused. Rather than redesigning existing flows, the priority was to bring the required capabilities into Mobile while preserving the current employee and HR experience.
3. HireRosterly: End-to-End Workflow Testing
After synchronization, I tested the main Employee and HR workflows end-to-end. The checks covered attendance behavior, exception handling, contracts, multiple locations, profiles, and gratuity. This verification was important because a successful build only proves that the application compiles; it does not prove that a user can complete a real workflow correctly.
The testing pass confirmed that the newly aligned features behaved consistently across the expected roles and that the updated screens remained usable as part of the wider Mobile application.
4. HireRosterly: Navigation Fix and Android Delivery
I also fixed the Mobile bottom-navigation state. Dashboard, Business, Attendance, Chat, and Profile now correctly show the active screen. This was a small technical fix with a clear usability benefit because the user can always see which primary section is currently open.
After validation, the finalized work was pushed through Git and the Android release APK was built successfully. This completed the HireRosterly portion of the week with implementation, workflow testing, source validation, version-control delivery, and a release artifact.
5. Cold Calling Agent: Moving Beyond the Foundation
The major part of Week 9 was the Cold Calling Agent. The project progressed from a basic CRM and AI-ready architecture into a more complete autonomous outreach workflow. The system now organizes the user journey into five clear steps: Target, Leads, Messages, Send, and Replies.
This structure keeps automation understandable. A user can define who to target, collect contactable leads, review outreach content, approve the sending stage, and then follow responses without losing the CRM context around each prospect.
6. Contactable Lead Search and Product Buyer Research
Lead acquisition was expanded so the system can research and save contactable prospects from approved public sources. A lead is accepted only when a supported email address or phone number is available. Email-only and phone-only leads are valid, while records with neither contact method are rejected.
The workflow also supports company-level contacts when a named person is not evidenced, but those records are clearly labeled as company contacts rather than inventing an individual. Available public information such as company, role, website, location, company size, source evidence, and research context is preserved when available.
A Product Buyers mode was also added. It allows targeting by country and city and supports buyer-oriented research while keeping requested and found counts clear. Lead research remains separate from outreach: finding a lead never automatically sends a message or starts a call.
7. Lead Import: CSV and Google Sheet Workflow
The Leads area now supports importing contactable leads from CSV files and public Google Sheets. The import flow includes preview, field mapping, validation, and explicit confirmation before data is saved.
During manual verification, I found a React rendering issue caused by duplicate or blank imported headers. Imported header text was being used as a React key and mapping identifier, so repeated values could collide and even overwrite column mappings. The import workflow was corrected to use stable unique column identifiers instead.
The fix was tested with blank headers, duplicate headers, timestamp values, numeric and unusual field names, email-only leads, phone-only leads, invalid contact rows, and mocked Google Sheet data. User-facing errors now follow the normal application message pattern instead of exposing technical errors or a Next.js error overlay.
8. Workspace-Specific Email and WhatsApp Integrations
Outreach integrations were refined so every workspace uses its own connection state. Email and WhatsApp are no longer treated as global capabilities. A workspace must have its own valid connection before its jobs can be processed.
Email supports connection verification and disconnect behavior. WhatsApp messaging keeps its own connection/session state, and the worker now respects workspace ownership before claiming jobs. Regression tests confirmed that a disconnected workspace cannot send, one workspace cannot use another workspace’s integration, and disconnecting WhatsApp blocks new message processing.
9. Centralized Channel Readiness
A centralized readiness layer now decides whether Email, WhatsApp Message, or WhatsApp AI Call can actually be used. This avoids a common automation problem where the interface shows a channel as available simply because some related configuration exists.
For example, a WhatsApp messaging connection does not automatically make WhatsApp AI Calling ready. Calling has additional requirements such as official calling configuration, customer call permission, and an AI voice provider. The Autonomous flow uses these readiness checks when showing available channels and when assigning outreach.
10. WhatsApp AI Calling Architecture
A major technical milestone was the WhatsApp AI Calling architecture. The existing WhatsApp messaging implementation remains separate, while voice calling uses a dedicated provider abstraction designed for the official WhatsApp Business Calling path. This prevents the application from pretending that a normal WhatsApp Web messaging session can provide production voice calling.
The calling workflow includes permission states, readiness checks, call lifecycle states, duplicate-call protection, workspace isolation, suppression rules, CRM persistence, and a provider-neutral AI voice layer. The call lifecycle covers permission required, ready, initiating, ringing, answered, AI active, completed, no answer, rejected, failed, and cancelled states.
The mock end-to-end flow was validated against PostgreSQL: permission can be requested and granted, a mock call can move through the expected states, the AI session can complete, and the outcome, summary, timestamps, provider reference, and follow-up recommendation can be stored in the CRM. No real customer call was made during this validation.
11. WhatsApp Calling Safety and CRM Outcomes
Calling is intentionally gated. A call cannot start without the required permission, suppressed or opted-out leads are blocked, and lead research never triggers an automatic call. Calling is only available from an explicitly approved outreach action.
The system also records structured call outcomes. A completed mock conversation can produce an outcome such as interested, follow-up, not interested, no answer, or failed, together with a summary, customer questions, objections, qualification details, and a recommended next action. Outcomes are not fabricated for calls that never connect.
12. Settings and Autonomous UI Cleanup
The Settings experience was simplified so Email remains its own integration while WhatsApp presents both messaging and AI calling status in one place. The old separate generic AI Calling card was removed. This makes the interface match the real product model: one WhatsApp integration with two different capabilities and two different readiness states.
The Autonomous page still presents Email, WhatsApp Message, and WhatsApp AI Call as separate outreach options because they behave differently during execution. Their status comes from the centralized readiness service rather than from hardcoded UI assumptions.
13. Quality, Regression Testing, and Safety
The week included repeated regression testing across lead search, Product Buyers, CSV/Google Sheet import, Email, WhatsApp messaging, WhatsApp AI Calling, Autonomous readiness, suppression rules, workspace isolation, frontend linting, production builds, backend QA, and Git diff validation.
A key engineering rule remained unchanged: mock readiness is not the same as production readiness. The WhatsApp AI Calling development flow is working in mock mode, but a real call still requires external Meta/WhatsApp Business Calling configuration, an eligible business number, webhooks, media transport, and a production realtime AI voice provider. No real email, WhatsApp message, AI call, or unnecessary external AI request was used during the final QA passes.
14. Key Learning from the Week
This week showed that automation becomes reliable when readiness, ownership, and user approval are treated as first-class product rules. A feature is not truly ready because a button exists; the application must know which workspace owns the connection, whether the destination is valid, whether permission exists, whether the channel is configured, and what should happen when something fails.
It also reinforced the value of manual UI verification after automated tests. The duplicate-key import issue was visible during real interaction even after broader checks had passed. Combining automated QA with hands-on workflow testing helped catch both backend rules and frontend usability problems.
15. Conclusion
Week 9 delivered a small but complete HireRosterly Mobile update and a much larger Cold Calling Agent milestone. HireRosterly stayed aligned with the latest Web features, key Employee and HR flows were tested, navigation state was corrected, Git delivery was completed, and the Android release APK was built.
Cold Calling Agent advanced into a controlled autonomous outreach platform with contactable lead research, Product Buyer targeting, CSV and Google Sheet imports, workspace-specific Email and WhatsApp integrations, centralized readiness, a five-step Autonomous workflow, and a database-backed WhatsApp AI Calling architecture validated in mock mode.
The result is a stronger development baseline: the system can research, organize, validate, and prepare outreach while keeping real execution behind explicit connection, permission, readiness, and safety checks.
Week 9 Highlights
| Area | Week 9 Outcome |
| HireRosterly | Web features synchronized into Mobile; workflows tested; navigation fixed; Android release APK built. |
| Lead acquisition | Contactable lead search, Product Buyers targeting, evidence-aware contact rules. |
| Imports | CSV + Google Sheet preview, mapping, validation, duplicate-header fix. |
| Integrations | Workspace-specific Email and WhatsApp connection/readiness behavior. |
| Autonomous | Five-step Target → Leads → Messages → Send → Replies workflow. |
| AI Calling | Permission-gated WhatsApp AI Calling architecture with DB-backed mock E2E validation. |
| Quality | Regression QA, lint, production build, workspace isolation, suppression and safety checks. |