Setting Up Copilot for Your Organization
Rolling out GitHub Copilot across your organization requires more than just purchasing seats. This lesson walks you through the complete setup process — from configuring your GitHub org to assigning seats, integrating SSO, and establishing policies that govern how Copilot operates across your teams.
Prerequisites and Planning
Before you begin the technical setup, ensure you have the following in place. Proper planning at this stage prevents headaches later and ensures a smooth rollout for your entire engineering team.
- GitHub Organization: You need an active GitHub organization (not a personal account). If your company uses GitHub Enterprise Cloud, you already have one.
- Organization Owner access: Only org owners can enable Copilot and manage policies. Ensure you have the correct permissions.
- Budget approval: Copilot Business is $19/user/month and Enterprise is $39/user/month. Have your budget approved for the number of seats you plan to assign.
- Identity provider details: If you plan to use SSO/SAML, have your IdP configuration details ready (Azure AD, Okta, OneLogin, etc.).
- Stakeholder alignment: Ensure your security team, legal team, and engineering leadership are aligned on AI code generation policies.
Step-by-Step Organization Setup
Follow these steps to enable Copilot for your GitHub organization. Each step includes the exact navigation path and configuration options.
Go to github.com/organizations/YOUR-ORG/settings and click on Copilot in the left sidebar under "Code, planning, and automation."
Select either Copilot Business or Copilot Enterprise. Enterprise adds knowledge bases, fine-tuned models, and advanced analytics. You can upgrade later without losing configuration.
Set whether Copilot can suggest code matching public repositories. Options are: "Allow" (default), "Block" (filters out matches), or "Allow with references" (shows source attribution).
Choose whether Copilot Chat is available to your org members in IDE and on GitHub.com. Most organizations enable this for maximum productivity.
Define file paths or repositories that Copilot should never read or suggest code from. This is critical for sensitive configuration files, secrets, and proprietary algorithms.
Choose between assigning seats to all org members automatically or selecting specific teams/individuals. You can also enable a request workflow where developers request access.
Seat Management and Assignment
Effective seat management ensures that every developer who needs Copilot has access, while keeping costs under control. GitHub provides several strategies for managing seat assignments at scale.
| Assignment Strategy | Best For | How It Works |
|---|---|---|
| All Members | Small to mid-size orgs (<200 devs) | Every org member automatically gets a Copilot seat |
| Selected Teams | Phased rollouts | Assign seats to specific GitHub teams (e.g., "frontend", "platform") |
| Individual Assignment | Pilot programs | Manually assign seats to specific users |
| Request Workflow | Large enterprises | Developers request access; admins approve or auto-approve based on team |
Seats that go unused for 30 days are flagged in the admin dashboard, allowing you to reclaim them and reassign to developers who will benefit more. GitHub also provides CSV export of seat assignment data for reporting and auditing purposes.
SSO and SAML Integration
For organizations using single sign-on, Copilot integrates seamlessly with your existing identity provider. When SSO is configured, Copilot seat access is governed by your IdP — when a user is deprovisioned from your IdP, their Copilot access is automatically revoked.
GitHub supports SAML SSO with the following identity providers:
- Azure Active Directory (Entra ID) — The most common enterprise choice, with full SCIM provisioning support
- Okta — Supports automated user provisioning and group-based seat assignment
- OneLogin — Full SAML 2.0 support with directory sync
- PingFederate — Enterprise IdP with advanced attribute mapping
- Custom SAML 2.0 — Any SAML 2.0 compliant identity provider
Configuring Organization-Wide Policies
Organization policies give you fine-grained control over how Copilot behaves for all members. These settings are configured at the org level and apply to everyone, though Enterprise plans allow per-team overrides for some settings.
# GitHub Copilot Organization Policy
# Configured via: Settings > Copilot > Policies
copilot_policies:
# Code suggestion settings
suggestions:
# Allow suggestions matching public code?
# Options: allow, block, allow_with_references
public_code_suggestions: allow_with_references
# Which languages should Copilot provide suggestions for?
# Use '*' for all, or specify a list
enabled_languages:
- python
- javascript
- typescript
- go
- java
- rust
- "*" # or allow all
# Copilot Chat settings
chat:
enabled: true
# Allow chat in IDE (VS Code, JetBrains, etc.)
ide_chat: true
# Allow chat on GitHub.com
web_chat: true
# Allow Copilot to reference Bing search results
bing_search: true
# Content exclusions - files/paths Copilot will never read
content_exclusions:
- "**/.env"
- "**/.env.*"
- "**/secrets/**"
- "**/credentials/**"
- "config/production.yml"
- "internal/proprietary-algorithm/**"
# Seat assignment policy
seat_policy:
# Options: all_members, selected_teams, request_workflow
assignment: selected_teams
teams:
- engineering
- data-science
- devops
# Auto-remove seats after N days of inactivity
inactive_removal_days: 60
# Data handling
data:
# Allow GitHub to use your code for model improvements?
telemetry_for_training: false
# Retain Copilot Chat conversation logs?
retain_chat_logs: true
chat_log_retention_days: 90
While this YAML format represents the policy structure conceptually, actual configuration is done through the GitHub web interface. Enterprise customers can also use the GitHub REST API to programmatically manage these settings, which is useful for organizations managing multiple GitHub organizations or automating policy deployment.
Verifying Your Setup
After completing the configuration, verify everything is working correctly before announcing the rollout to your team. Here is a quick checklist to run through:
Navigate to your org's Copilot settings and verify that the correct number of seats are assigned and policies are applied.
Have one team member install the Copilot extension in VS Code, sign in, and verify they receive code suggestions.
Open a file that should be excluded (e.g., .env) and confirm that Copilot does not provide suggestions.
If SSO is configured, have a user authenticate through your IdP and confirm they can access Copilot features.
✍ Try It Yourself
If you have admin access to a GitHub organization, practice the setup process. Even if you are not ready for a full rollout, you can:
- Navigate to your org's Copilot settings page and review available options
- Draft a content exclusion list for your organization (what files should Copilot never read?)
- Create a seat assignment plan: which teams get access first?
- Document your SSO provider's SAML configuration details
- Write a one-page rollout announcement for your engineering team
Lilly Tech Systems