Files
blackroad-operating-system/sop/playbooks/brenda-new-client-checklist.md
Claude 7cde897040 Add complete automation SOP system for BlackRoad ERP
This implements the "Automate The Company" initiative with comprehensive
Standard Operating Procedures for GitHub + Salesforce + Asana integration.

New directory: sop/
├── workflows/ - End-to-end process documentation
│   ├── new-client-kickoff.md - Flagship workflow from deal → repos → Asana
│   └── release-pipeline.md - Deploy → update Salesforce + Asana
├── playbooks/ - Human-friendly checklists
│   └── brenda-new-client-checklist.md - Non-technical operator guide
├── salesforce/ - Salesforce automation specifications
│   ├── flows/opp-automation-onstagechange.md - Trigger on Closed Won
│   └── orchestrations/new-client-kickoff-orchestration.md - Multi-stage process
├── integrations/ - API integration specifications
│   ├── salesforce-to-github.md - Create repos from Salesforce
│   ├── github-to-salesforce.md - Update Salesforce after deploy
│   └── salesforce-to-asana.md - Create Asana projects from Salesforce
└── templates/ - Reusable templates
    ├── github-actions/ - CI/CD workflows (ci.yml, deploy.yml, safety.yml)
    └── repo-template/ - Standard repo config (PR template, labels, branch protection)

Key Features:
- Event-driven automation (Closed Won → repos + Asana creation)
- GitHub Actions templates for CI/CD baseline
- Salesforce Flow & Orchestration specs
- Complete API integration documentation
- Operator-friendly playbooks
- Two-view approach (operator + engineer)
- No manual status syncing across systems

This provides the complete backbone for next-gen ERP automation.
2025-11-17 08:17:51 +00:00

11 KiB
Raw Blame History

New Client Kickoff Checklist (Brenda Edition)

For: Operations, Customer Success, Account Managers Time: 30 minutes of your time, 5-10 minutes of robot time Last Updated: 2025-11-17


What This Is

This is your simple, step-by-step guide for onboarding a new client after a deal closes. Most of the work happens automatically, but you need to:

  1. Make sure everything kicks off correctly
  2. Fill in a few details the robots can't know
  3. Verify everything worked
  4. Communicate with the customer

No technical knowledge required. If something breaks, there are clear instructions for who to ask for help.


Before You Start

You'll need:

  • Access to Salesforce
  • Access to Asana
  • Client's primary contact info (name, email, phone)
  • Client's domain preference (if custom)
  • Package type they purchased (OS / Console / Custom)

The Checklist

📋 Part 1: Mark the Deal Closed (Day 0)

Where: Salesforce

  1. Open the Opportunity record for this deal
  2. Click Edit
  3. Change Stage to: Closed Won
  4. Fill in these fields if they're empty:
    • Account Name: Company name
    • Primary Contact: Main person at the company
    • Domain/Subdomain: What they want their site to be called (e.g., acme-portal)
    • Package Type: OS / Console / Custom (what they bought)
    • Service Tier: Starter / Pro / Enterprise
    • Start Date: Today (or agreed start date)
  5. Click Save

What happens next (automatically):

  • A Project record gets created in Salesforce (within 2 minutes)
  • Repos appear in GitHub (within 5-10 minutes)
  • An Asana project gets created with all tasks (within 5-10 minutes)
  • You get a Slack notification in #ops saying everything is ready

⏱️ Wait 10 minutes, then move to Part 2.


Part 2: Verify the Magic Happened (Day 0)

Where: Salesforce → Project record

  1. Go back to the Opportunity in Salesforce
  2. Scroll down to RelatedProjects
  3. You should see a new Project record with a name like ACME-X7K9

Click into the Project record and check:

  • Project Key is filled in (e.g., ACME-X7K9)
  • Status says: Setup In Progress
  • Backend Repo URL is filled in (a GitHub link)
  • Frontend Repo URL is filled in (a GitHub link)
  • Ops Repo URL is filled in (a GitHub link)
  • Asana Project URL is filled in (an Asana link)

If any of these are empty after 15 minutes: → Something broke. Skip to "Troubleshooting" section below.

If everything is filled in:🎉 You're golden! Move to Part 3.


📝 Part 3: Add Client-Specific Details (Day 0)

Where: Asana

  1. Click the Asana Project URL from the Salesforce Project record (opens Asana)
  2. You should see a project with sections: Discovery, Architecture, Build, Testing, Go-Live
  3. Go to the Discovery section
  4. Click the task: "Confirm domain + DNS with client"
  5. Assign it to yourself
  6. Add a comment with:
    • Client's preferred domain/subdomain
    • Any special requests (custom branding, integrations, etc.)
    • Primary contact info
  7. Click the task: "Gather branding assets"
  8. Assign it to Design team
  9. Add a comment with:
    • "Client: [Company Name]"
    • "Contact: [Name, Email]"
    • "Need: Logo, brand colors, fonts"

Where: Salesforce Project

  1. Go back to the Project record in Salesforce
  2. Click Edit
  3. Fill in:
    • Primary Contact: Lookup the Contact record
    • Technical Owner: Assign to a developer (or leave blank for now)
    • Customer Notes: Any special context about this client
  4. Click Save

📧 Part 4: Notify the Client (Day 0-1)

Where: Email / Phone

Send the client a friendly kickoff message:

Template:

Subject: Welcome to BlackRoad! Your Project is Live 🚀

Hi [Client Name],

Great news! We've kicked off your project. Here's what's happening:

Your Project: [Project Key, e.g., ACME-X7K9] Package: [OS / Console / Custom] Next Steps:

  1. Our team will reach out within 24 hours to confirm your domain and branding.
  2. We'll send you a staging link within 3-5 business days for initial review.
  3. Your primary point of contact is [Technical Owner Name] for technical questions, and me for everything else.

Need anything? Just reply to this email or call me at [your number].

Looking forward to building something great together!

[Your Name] [Your Title] BlackRoad


👀 Part 5: Monitor Progress (Ongoing)

Where: Asana (check daily)

  1. Open the Asana project for this client
  2. Look at tasks:
    • Green checkmarks = Done automatically or by the team
    • In Progress = Someone's working on it
    • 🔴 Overdue = Needs attention

What to watch for:

  • Tasks marked "blocked" → Check the comments, see what's blocking, help unblock
  • Tasks overdue by > 2 days → Ping the assignee in Slack or Asana
  • Client reaches out with questions → Add a task in Asana under "Discovery" section

Where: Salesforce Project (check weekly)

  1. Open the Project record
  2. Look at Last Deploy At field:
    • Should update every few days (means engineers are deploying)
    • If it's been > 1 week with no deploys → Ask in #ops "Is [Project Key] blocked?"

🎯 Part 6: Final Review & Go-Live (Day 14-30)

Where: Asana → "Go-Live" section

When you see the task "Final client walkthrough" assigned to you:

  1. Schedule a 30-minute call with the client
  2. Walk them through their staging environment
  3. Get their final approval:
    • Design looks good
    • Functionality works as expected
    • They're ready to go live
  4. In the Asana task, add a comment: "Client approved on [Date]. Ready for production."
  5. Assign the task "Deploy to production" to DevOps

What happens next (automatically):

  • Engineers deploy to production
  • Your Asana task auto-completes when deploy succeeds
  • Salesforce updates with production URL
  • You get a Slack notification: " [Project Key] is live!"

Where: Email the client

Send the go-live notification:

Subject: You're Live! 🎉

Hi [Client Name],

Exciting news your BlackRoad site is now live in production!

Your URL: https://[their-domain].blackroad.app Login credentials: [sent separately via secure method]

What's next:

  • We'll monitor the site 24/7 for the first week
  • If you notice anything unusual, email support@blackroad.com or reply here
  • We'll check in with you in 1 week to see how things are going

Congratulations! 🚀

[Your Name]


Troubleshooting

Problem: "Project record was created, but repos/Asana are empty after 15 minutes"

Fix:

  1. Go to the Project record in Salesforce
  2. Copy the Project Key (e.g., ACME-X7K9)
  3. Go to GitHub: https://github.com/blackboxprogramming
  4. Search for repos with that Project Key in the name
  5. If repos exist but URLs aren't in Salesforce:
    • Manually copy the repo URLs into the Salesforce Project fields
    • Post in #ops: "Automation hiccup for [Project Key] repos created but didn't sync to Salesforce"
  6. If repos DON'T exist:
    • Post in #ops: "Urgent: GitHub repos not created for [Project Key]. Need manual setup."
    • Tag @devops

Problem: "Asana project was never created"

Fix:

  1. Manually create an Asana project:
    • Go to Asana
    • Click + New Project
    • Name it: [Account Name] - [Project Key]
    • Choose Board view
  2. Copy the project URL
  3. Paste it into the Salesforce Project record → Asana Project URL field
  4. Add these sections manually:
    • Discovery
    • Architecture
    • Build
    • Testing
    • Go-Live
  5. Post in #ops: "Asana automation failed for [Project Key] created manually"

Problem: "Engineers are asking me technical questions I don't understand"

Fix:

  1. Don't guess. It's okay to say "I don't know, let me find out."
  2. Ask the client for clarification
  3. Post the question + client's answer in the Asana project under the relevant task
  4. Tag the engineer who asked

Problem: "Client is frustrated / things are taking too long"

Fix:

  1. Look at the Asana project → find which tasks are overdue
  2. Post in #ops: "[Project Key] is delayed [Task Name] is overdue. Can someone help?"
  3. Schedule a call with the client to explain:
    • What's blocking us
    • New timeline
    • What we're doing to unblock
  4. Follow up in Salesforce → Project record → add a note in Customer Notes

Pro Tips

Tip 1: Check Asana every morning Spend 5 minutes scanning all your active client projects. Catch issues early.

Tip 2: Use Slack for quick questions If a task is blocked, post in #ops or #dev with the Asana task link. Much faster than email.

Tip 3: Keep clients in the loop Send a quick "Hey, we deployed X this week" update every Friday. Clients love visibility.

Tip 4: Use the Salesforce Activity feed Log every client call, email, or decision in Salesforce. Future-you will thank you.

Tip 5: Trust the automation The robots are good at their job. If something doesn't auto-complete, it's probably because it's waiting on something manual (like your approval or client input). Check the task comments.


Quick Reference

I need to... Go here...
Mark a deal closed Salesforce → Opportunity → Change Stage to "Closed Won"
Check if automation worked Salesforce → Project record → Check if URLs are filled
See what tasks need doing Asana → Open the project for that client
Find GitHub repos Salesforce → Project record → Click the repo URL links
See latest deploys Salesforce → Project record → "Last Deploy At" field
Report a broken automation Slack → #ops → Tag @devops
Ask a technical question Slack → #dev → Include Asana task link

Who to Ask for Help

If you need... Ask... Where...
Automation isn't working @devops Slack #ops
Task is blocked / unclear The task assignee Asana comment or Slack
Client has technical questions @technical-owner (from Salesforce Project) Slack or tag in Asana
Client is unhappy / escalation Your manager Slack DM or meeting

Remember

You are the glue between the client and the robots.

Your job is NOT to understand how GitHub Actions work or what a "CI pipeline" is.

Your job IS to:

  • Make sure clients feel heard and informed
  • Catch things that fall through the cracks
  • Keep Asana and Salesforce up to date with client context
  • Escalate technical issues to technical people

The system is designed to make your life easier. If it's not, tell us and we'll fix it.


Questions? Post in #ops or email ops@blackroad.com