Illustrated sample — not your workspace
Harbor Bike Co.
A fake project name used only in this guide
After you subscribe
Connect the tools your team already uses. Hires write in your repo. Your tracker stays the source of work. Your cloud stays yours.
Your tools → your VPods team → your work and cloud
Your VPods team
Jira
Work
AWS / Azure
Cloud
01 · Project
Name the workspace. You can add a short brief. This creates the project the roster will work in — it is not a bill.
Illustrated sample — not your workspace
A fake project name used only in this guide
02 · Connect your tools
GitHub is always first. Cloud and Jira follow your plan.
Code. Hires branch, commit, and open pull requests on your repo.
Setup guideInfrastructure. Your CI deploys into your account.
Setup guideWork. Assignment on your board opens a VPods card.
Setup guide1
Authorize
Sign in to GitHub and allow VPods.
2
Pick the repo
The delivery repository hires will use.
3
Confirm
Connect shows GitHub as connected.
OAuth asks for repo and read:user — the delivery repository, not org billing. Reconnect from Settings → Integrations. If OAuth is not registered here, a fine-grained PAT with repo contents and pull requests is the fallback.
Hires never apply from VPods. Your GitHub Actions pipeline deploys with an identity you launch in your account.
How deployment works
VPods
AI team writes changes
code
GitHub
Your repo and CI
deploy
Your cloud
Your AWS or Azure
CI uses an approved identity you launch. Your cloud stays yours.
1
Launch template
CloudFormation from the Cloud step.
2
Connect identity
Paste the two role ARNs in VPods.
3
Verify
Scale needs deploy and inference, separately.
Need the implementation details?
The stack creates two roles. Do not reuse one for both jobs. VPodsDeploy is for GitHub Actions OIDC apply. Policy C covers Amplify, S3, CloudFront, API Gateway, Lambda, DynamoDB, SQS, SNS, ECS/ECR, load balancers, VPC security groups, IAM roles and instance profiles, KMS, Secrets Manager, and SSM. AppSync, RDS, and Route 53 stay on copy-B if you need them. VPods never assumes VPodsDeploy.
VPodsInference is assumed by VPods with an ExternalId. Actions: bedrock:InvokeModel, Converse, streams, and inference-profile read. Enable Claude (or the models you use) in Bedrock in that region. Scale cannot continue on deploy alone.
GitHub Actions federates with OIDC into VPodsDeploy. Bind the template to the GitHub org and repo you selected on Connect.
Same relationship as AWS: hires write code, your pipeline deploys with a federated identity in your subscription.
How deployment works
VPods
AI team writes changes
code
GitHub
Your repo and CI
deploy
Your cloud
Your AWS or Azure
CI uses an approved identity you launch. Your cloud stays yours.
1
Launch template
ARM / Bicep from the Cloud step.
2
Connect identity
Tenant, subscription, client ID.
3
Grant inference
Foundry roles on a second identity.
The template creates a user-assigned identity with GitHub (and optional Azure DevOps) federated credentials and custom role C: Functions, APIM, Service Bus, Event Grid, storage, Front Door, Static Web Apps, Container Apps, App Service plans, VNets / NSGs / load balancers, ACR, Application Insights, resource groups, and role assignment. Azure SQL, Cosmos DB, DNS, and Key Vault stay on copy-B. No client secret is exchanged for deploy.
Assign Cognitive Services OpenAI User and Azure AI User on your Azure OpenAI / AI Foundry resource to the VPods enterprise app (the client ID you paste). Do not put those roles on VPodsDeploy. Paste tenant, subscription, client ID, Foundry endpoint, and deployment name.
az role assignment create \ --role "Cognitive Services OpenAI User" \ --assignee <vpods-app-object-id> \ --scope /subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.CognitiveServices/accounts/<foundry>
03 · Build your AI team
Trial includes Laura. Startup picks one licensed hire. Scale builds a roster up to the included ten, then extra paid agents. Unpaid agents cannot be selected.
04 · Connect the work
Start on an empty VPods board, or connect Jira. Scale expects your tracker. Assignment is what opens a card.
Jira
Assign issue
VPods board
AI teammate picks it up
Your existing Jira workflow stays the source of work.
Connect Jira
Jira
VPOD-123
To do
syncs
VPods board
VPOD-123
To do → assign Laura
Laura working
Status moves both ways
1
Connect site
OAuth or API token from Work or Settings.
2
Choose project
Pick the Jira project or space.
3
Map teammates
Each hire maps to a licensed Jira user.
Azure Boards is a separate PAT path when the backlog lives in Azure DevOps — not the same as Azure cloud-connect.
OAuth scopes: read:jira-userread:jira-workwrite:jira-workmanage:jira-webhookoffline_access. An API token needs the same project permissions.
People in Microsoft Teams are Entra users. The bot sees an Entra object id. Sync Entra and Jira under Settings → Members so chat maps to this workspace. Website sign-in is still the VPods account; federated SSO is not live. Join is the same email after sync.
Entra and identity guide05 · You're ready
Your team is ready
Nothing starts automatically. Assign a story when you are ready.
Optional extensions
Bring licensed teammates into Teams chat. Sage (Architect) is licensed through this add-on. Studio and GitHub ship without it.
Later reconnects live in Settings → Integrations and Settings → Cloud. Full IAM and RBAC JSON lives on Security & Trust.