# Gusto setup for PopMCP

If PopMCP shows Sign in with Gusto with no fields, click it, sign in as a primary or full-access admin and pick the company. If it asks for a Client ID and Secret, create an application in the Gusto Developer Portal, add PopMCP's redirect URL, and enter the application's details.

- Auth: OAuth authorization
- Setup time: 5 min
- API base URL: https://api.gusto.com
- Credentials screen: https://dev.gusto.com/
- Provider docs: https://docs.gusto.com/app-integrations/docs/oauth2

## Before you begin

- A Gusto login with primary or full-access admin rights on the company you want to connect. Other admins and employees cannot approve access.
- To use your own application: a free Gusto Developer Portal account at dev.gusto.com, and PopMCP's redirect URL from the connect form: https://app.popmcp.com/api/providers/gusto/callback
- A new application is a Demo app that reaches test companies only. Real companies through your own application need Gusto's production approval, which Gusto gives to software partners. Sign in with Gusto has no such gate.

## Get your credentials

### 1. Check whether you need an application at all

Open Gusto in PopMCP. If you see Sign in with Gusto and no fields, click it, sign in as a primary or full-access admin, pick the company on Gusto's page and approve. You are done, so skip the rest of these steps. If the form asks for a Client ID and Secret, carry on.

### 2. Create an organization

Sign in at dev.gusto.com (sign up if you are new). In the left navigation click Organizations, then + Create organization. Add the organization name, a team email and your website, then click Create.

Screen: https://dev.gusto.com/

### 3. Create an application with PopMCP's redirect URL

In the left navigation click Applications, then + Create application. Give it a name such as `PopMCP`, and under redirect URI paste `https://app.popmcp.com/api/providers/gusto/callback` exactly: Gusto accepts no wildcards. Click Create.

Screen: https://dev.gusto.com/

### 4. Copy the Client ID and Secret

Open the application and copy its Client ID and Secret.

Screen: https://dev.gusto.com/

### 5. Enter them in PopMCP and sign in

Enter the Client ID and Secret in PopMCP. Under Environment type `demo` for a Demo app, or leave it empty for a production app Gusto has approved. Click Sign in with Gusto, sign in as an admin of the company, pick the company and approve.

## Fields PopMCP asks for

- Client ID (clientId) [required]: Only needed to use your own app. Sign in at dev.gusto.com, open Applications and click Create application, add the redirect URL shown here, then copy its Client ID and Secret. A new app is a Demo app with test data; connecting a real company this way needs an app Gusto has approved for production.
- Secret (clientSecret) [required]: On the same page as the Client ID. Stored encrypted and used only on our server.
- Environment (environment): Type demo for a Demo app, which is what a new app is. Leave it empty for a production app Gusto has approved.

## Callback URL to register

https://app.popmcp.com/api/providers/gusto/callback

## Scopes requested

- accounts:write
- benefits:read
- companies:disconnect_app_integration
- companies:read
- companies:write
- company_admin:read
- company_benefits:read
- company_benefits:write
- company_reports:read
- company_reports:write
- compensations:read
- compensations:write
- contractors:manage
- contractors:read
- contractors:write
- departments:read
- departments:write
- employee_benefits:read
- employee_benefits:write
- employee_time_off_activities:read
- employees:manage
- employees:read
- employees:write
- employments:read
- employments:write
- events:read
- garnishments:read
- garnishments:write
- notifications:read
- pay_schedules:read
- payroll_syncs:read
- payroll_syncs:write
- payrolls:read
- payrolls:write
- reimbursements:read
- reimbursements:write
- salary_estimates:read
- salary_estimates:write
- time_off_policies:read
- time_off_policies:write
- time_off_requests:read
- time_sheet:read
- time_sheet:write
- webhook_subscriptions:read
- webhook_subscriptions:write

## Verify

PopMCP shows Gusto as Connected under your company's name, and gusto_company_overview returns the company with its locations and pay schedules.

## Troubleshooting

### Gusto shows an error page instead of asking for access

Cause: PopMCP's redirect URL is not on your application, or differs by a character.

Fix: On your application at dev.gusto.com set the redirect URI to `https://app.popmcp.com/api/providers/gusto/callback` and connect again. A production application's redirect URI changes only by emailing developer@gusto.com.

### "Gusto did not accept the app's Client ID and Client secret"

Cause: A value was mistyped, or the Environment does not match the application.

Fix: Copy both again from dev.gusto.com. Type `demo` under Environment for a Demo app, and leave it empty for a production one.

### "Gusto signed in but refused to show the company"

Cause: The person who signed in is not a primary or full-access admin.

Fix: Sign in as one of those admins and connect again.

### A tool answers that it needs a permission, or a scope

Cause: Gusto sets which permissions a sign-in or application holds, and this call is outside them.

Fix: The answer names what is missing. For your own application, ask developer@gusto.com to add it. With Sign in with Gusto, see what gusto_list_official_tools offers, or do it in Gusto.

### A tool answers that it is for Gusto Embedded apps only

Cause: Gusto keeps that endpoint for its Embedded payroll partners.

Fix: Do it in Gusto, or see what gusto_list_official_tools offers if you connected with Sign in with Gusto.

### You see only test companies

Cause: A new application is a Demo app.

Fix: Use Sign in with Gusto when it is offered. Real companies through your own application need Gusto's Production Pre-Approval and Security Review.

---

Source: https://www.docs.popmcp.com/docs/integrations/gusto/