Owner: HR Lead + Head of Delivery (joint)
Contributors: Andrew Herbert (Upwork account owner — posts, reviews, decides) ·
Hiring Manager / Technical Lead (D4) · Project Manager / Team Lead (D4)
Department: D6 — Operations (HR & People)
Entity: PrivateAI
Status: v0.9 · In Progress
Version: 0.9 | Last updated: 2026-07-01 | Classification: Confidential
⚠️ Scope: This SOP covers general/support contractor engagements hired
through Upwork for internal projects or support work only. AIe/AIc client-facing
placements use a separate, more rigorous process (additional sourcing channels,
deeper technical/compliance vetting, reference checks). See DEL-05 (AIe & AIc
Placement) and OPS-H01c-DOC-01 (Contractor Sourcing & Vetting Guide).
What this workflow does: Sources, hires, and onboards general contractors
(freelancers) via Upwork for internal projects or support work — from job posting
through to first project assignment.
What triggers it: A need for external freelance capacity is identified for an
internal or support project and approved for posting.
What it produces: An engaged contractor working under an active Upwork contract,
with Discord access provisioned and an initial project assignment made.
Why it matters: Lets the business flex delivery capacity quickly for internal
and support work without full-time hiring overhead, while keeping administrative
burden minimal.
⚠️ Andrew Involved — Andrew personally posts every job (Step 1), reviews and
shortlists all applications (Steps 2–3), and makes the final hiring decision and
issues the Upwork contract (Step 6). The Upwork account is managed under his profile.
No delegation of this screening step is currently planned.
| Role | Department | Responsibility | Andrew? |
|---|---|---|---|
| Andrew Herbert | D6 | Posts the job. Reviews and shortlists applications. Makes the final hiring decision. Issues the Upwork contract. | Yes |
| Hiring Manager / Technical Lead | D4 | Conducts the interview. Runs the technical assessment for technical roles. | No |
| HR Lead / Operations | D6 | Invites contractor to Discord. Shares project information and relevant SOPs. | No |
| Project Manager / Team Lead | D4 | Introduces contractor to the project. Assigns initial work. Manages day-to-day performance post-hire. | No |
Gap: No single accountable owner is formally defined for post-hire contractor
management. Day-to-day responsibility sits with PM/Team Lead. Contractual authority
(including ending an engagement) sits with Andrew as Upwork account owner.
Step 1 — Post contractor job listing
Step 2 — Review applications
Step 3 — Shortlist candidates
Step 4 — Conduct interview
Step 5 — Technical assessment (technical roles only)
Step 6 — Final hiring decision
Step 7 — Contractor invited and briefed
Step 8 — Project introduction and initial assignment
| Tool | How it's used | Agent-ready |
|---|---|---|
| Upwork | Job posting, application review, shortlisting, contracting, payments, time tracking | TBD — pending OPS-O02 |
| Discord | Interviews (optional), contractor onboarding, ongoing project communication | Yes — core stack |
| Google Meet | Alternative interview venue | TBD — pending OPS-O02 |
| Sharing project information and SOPs | No | |
| Technical assessment platform | Practical test for technical roles | TBD — no standardised tool defined |
| Contractor tracking / CRM | Not currently used — no dedicated system | TBD — pending OPS-O02 |
⚠️ Compliance gap: OPS-L01b Templates D (AU) / E (US) independent-contractor
agreement (IP assignment + NDA) are not currently executed alongside the Upwork
contract. Upwork's own platform T&Cs are the only agreement in place. This is a
known compliance gap — Legal Lead to assess whether Templates D/E should be executed
for all contractors.
| Decision | Step | Options | Owner |
|---|---|---|---|
| Application meets requirements | Step 2 | Meets → shortlist · Does not meet → reject | Andrew Herbert |
| Interview outcome + role type | Step 4 | Satisfactory non-technical → Step 6 · Satisfactory technical → Step 5 · Not satisfactory → reject | Hiring Manager / Technical Lead |
| Technical assessment outcome | Step 5 | Passed → Step 6 · Failed → reject | Technical Lead |
| Final hiring decision | Step 6 | Approved → Step 7 · Declined → end | Andrew Herbert |
| Scenario | How to handle | Escalation |
|---|---|---|
| Low volume or low-quality applications | Andrew manually re-reviews; posting may be revised | Andrew — consider reposting or widening criteria |
| Skills mismatch discovered late | Technical assessment for technical roles before hire | Hiring Manager — reassess screening criteria |
| Contractor underperforms after hiring | PM/Team Lead manages directly | Andrew — may end engagement via Upwork → triggers OPS-H01d |
| Delayed onboarding | HR Lead provisions Discord access and materials as soon as contract begins | HR Lead |
| OPS-L01b Template D/E not executed | Currently accepted as-is — flagged as compliance gap | Legal Lead — recommend assessing for all contractors |
| Engagement is actually AIe/AIc placement | Confirm engagement type before running this SOP | Head of Delivery — route to DEL-05 |
| Metric | Type | Target |
|---|---|---|
| Time to hire | Leading | TBD — baseline pending |
| Qualified applicants per posting | Leading | TBD — baseline |
| Interview-to-hire ratio | Leading | TBD — baseline |
| Technical assessment pass rate | Leading | TBD — baseline |
| Contractor acceptance rate | Leading | TBD — baseline |
| Time from contract signed to onboarding complete | Leading | TBD — baseline |
| Contractor retention for engagement duration | Lagging | TBD — baseline |
| Step | Current state | Suggested automation | Tool | Effort |
|---|---|---|---|---|
| Step 1 — Job posting | Manual | Template library for job descriptions by role type | n8n / Google Docs | Low |
| Steps 2–3 — Application review + shortlist | Manual (Andrew) | Automated initial filtering before Andrew's manual review | n8n + Upwork API (TBD) | Medium |
| Step 7 — Discord invite + SOP share | Manual | Auto-trigger Discord invite + SOP packet on Upwork contract-signed webhook | n8n | Medium |
| Step 8 — Onboarding checklist | Manual | Digital checklist auto-created per contractor | n8n / Google Docs | Low |
| Direction | Workflow | What flows |
|---|---|---|
| Upstream | DEL-05 — AIe & AIc Placement | Capacity needs for general/support work can trigger this SOP |
| Upstream | SAL-01e — Close | Signed client work generates the capacity need |
| Downstream | OPS-L01b — Employment Contracts | Templates D/E intended for contractor IP/NDA (compliance gap — not yet executed) |
| Downstream | OPS-H01 — People Register | Contractor record feeds the register |
| Downstream | OPS-H01d — Contractor Offboarding | Triggered when engagement ends |
| Version | Date | Description | Author |
|---|---|---|---|
| 0.9 | 2026-07-01 | Initial draft — Andrew's hands-on Upwork role documented. Scope note on AIe/AIc exclusion. OPS-L01b Template D/E compliance gap flagged. | Workflow Builder session |