Gusto Component

Manage payroll, benefits, and human resource within Gusto
Component key: gusto#
DescriptionGusto is a company that provides a cloud-based payroll, benefits, and human resource management software for businesses based in the United States.
#
Gusto Connections#
Gusto OAuth 2.0 ConnectionTo create an OAuth 2.0 app in Gusto, sign up for a Gusto developer account at https://dev.gusto.com/ and create a new Gusto application.
Take note of your applications's Client ID and Secret and enter those values in Prismatic when you add a Gusto connection to your integration.
Under Redirect URI, add Prismatic's callback URL, https://oauth2.prismatic.io/callback
.
Input | Default | Notes | Example |
---|---|---|---|
Input Authorize URL string / Required authorizeUrl | Default https://api.gusto.com/oauth/authorize | Notes The OAuth 2.0 Authorization URL for Gusto | Example |
Input Client ID string / Required clientId | Default | Notes Client Identifier of your app for the API | Example aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
Input Client Secret password / Required clientSecret | Default | Notes Client Secret of your app for the API | Example bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
Input Scopes string Hidden Field scopes | Default | Notes Scopes are not used for Gusto | Example |
Input Token URL string / Required tokenUrl | Default https://api.gusto.com/oauth/token | Notes The OAuth 2.0 Token URL for Gusto | Example |
#
Data Sources#
Select CompanyAllow a user to select one of their companies | key: selectCompany | type: picklist
Input | Notes |
---|---|
Input Connection connection / Required connection | Notes |
#
Actions#
Get Company by IDGet company metadata by ID | key: getCompany
Input | Notes | Example |
---|---|---|
Input Company ID string / Required companyId | Notes A UUID representing a company. | Example 00000000-0000-0000-0000-000000000000 |
Input Connection connection / Required connection | Notes | Example |
#
Output Example Payload{ "data": { "data": { "ein": "00-0000001", "entity_type": "C-Corporation", "tier": "core", "is_suspended": false, "company_status": "Approved", "uuid": "c7a07c73-a703-4462-9343-1b181182b6e0", "name": "Shoppe Studios LLC", "trade_name": "Record Shoppe", "is_partner_managed": false, "locations": [ { "street_1": "412 Kiera Stravenue", "street_2": "Suite 391", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA", "active": true }, { "street_1": "644 Fay Vista", "street_2": "Suite 842", "city": "Richmond", "state": "VA", "zip": "23218", "country": "USA", "active": true } ], "compensations": { "hourly": [ { "name": "Overtime", "multiple": 1.5 }, { "name": "Double overtime", "multiple": 2 }, { "name": "Regular", "multiple": 1 }, { "name": "Outstanding vacation", "multiple": 1 }, { "name": "Holiday", "multiple": 1 }, { "name": "Emergency sick - self care", "multiple": 1 }, { "name": "Emergency sick - caring for others", "multiple": 1 }, { "name": "FMLA Public Health Emergency Leave", "multiple": 1 }, { "name": "Regular Hours", "multiple": 1 } ], "fixed": [ { "name": "Bonus" }, { "name": "Commission" }, { "name": "Paycheck Tips" }, { "name": "Cash Tips" }, { "name": "Correction Payment" }, { "name": "Severance" }, { "name": "Minimum Wage Adjustment" }, { "name": "Reimbursement" } ], "paid_time_off": [ { "name": "Vacation Hours" }, { "name": "Sick Hours" }, { "name": "Holiday Hours" } ] }, "primary_signatory": { "first_name": "Alda", "middle_initial": "", "last_name": "Carter", "phone": "1-565-710-7558", "email": "louie.hessel7757869450111547@zemlak.biz", "home_address": { "street_1": "524 Roob Divide", "street_2": "Suite 565", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA" } }, "primary_payroll_admin": { "first_name": "Ian", "last_name": "Labadie", "phone": "1-565-710-7559", "email": "louie.hessel7757869450111547@zemlak.biz" } }, "headers": {} }}
#
Get EmployeeGet an employee by ID | key: getEmployee
Input | Notes | Example |
---|---|---|
Input Connection connection / Required connection | Notes | Example |
Input Employee ID string / Required employeeId | Notes A UUID representing a employee. | Example 00000000-0000-0000-0000-000000000000 |
#
Output Example Payload{ "data": { "data": { "uuid": "9779767c-6044-48e0-bf68-aeb370b9a2e7", "first_name": "Nicole", "middle_initial": "M", "last_name": "Boehm", "email": "kory7757869450111548@barton-hermiston.io", "company_uuid": "c44d66dc-c41b-4a60-9e25-5e93ff8583f2", "manager_uuid": "5e53e257-c8d6-45aa-aa8a-ec99283a3acd", "version": "414dedaca594b77135e0b8d2f398516d", "department": "Stage Hand", "department_uuid": "1802465d-4f68-4865-920c-1307ab095f12", "terminated": false, "two_percent_shareholder": false, "onboarded": true, "jobs": [ { "uuid": "5d5e3ce5-ea8f-4885-90e5-7ebaed03f7c5", "version": "91179081a7309c9fbd31bb3cf7b9893e", "employee_uuid": "a987bce1-6d06-43f8-9978-9db886f479fb", "current_compensation_uuid": "798a962f-0fcf-491e-9b71-cfa6a1db114f", "payment_unit": "Hour", "primary": true, "title": "Client Support Manager", "compensations": [ { "uuid": "94f17a77-cfe5-436a-af94-422bbf8248ff", "version": "233f0096a8015e62d9795fadf1fd300d", "payment_unit": "Hour", "flsa_status": "Nonexempt", "job_uuid": "64711ac0-83ff-4aaf-bec1-db72f5a44e56", "effective_date": "2021-01-20", "rate": "22.00", "adjust_for_minimum_wage": false, "minimum_wages": [] } ], "rate": "22.00", "hire_date": "2020-01-20", "location": { "uuid": "a82843df-3e90-4f4c-93bc-808122f88a46", "street_1": "412 Kiera Stravenue", "street_2": "Suite 391", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA", "inactive": false } } ], "eligible_paid_time_off": [ { "name": "Sick Hours", "accrual_unit": "Hour", "accrual_rate": "208.0", "accrual_method": "per_hour_worked", "accrual_period": "Year", "accrual_balance": "71.0", "maximum_accrual_balance": "240.0", "paid_at_termination": false }, { "name": "Vacation Hours", "accrual_unit": "Hour", "accrual_rate": "208.0", "accrual_period": "Year", "accrual_balance": "34.0", "maximum_accrual_balance": "240.0", "paid_at_termination": true } ], "terminations": [], "home_address": { "version": "7776defce07496b82f3f1ed469e48ae5", "employee_uuid": "628d203c-357b-4dd4-9ea1-8468b15dd58b", "street_1": "3772 Reynolds Centers", "street_2": "Suite 461", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA", "active": true }, "garnishments": [], "date_of_birth": "1996-05-08", "has_ssn": true, "ssn": "", "phone": "1234567890", "preferred_first_name": "Vanessa", "work_email": "vanessa.boehm@example.com" }, "headers": {} }}
#
Get Pay Schedule by IDGet a pay schedules for a company by pay schedule ID | key: getPaySchedule
Input | Notes | Example |
---|---|---|
Input Company ID string / Required companyId | Notes A UUID representing a company. | Example 00000000-0000-0000-0000-000000000000 |
Input Connection connection / Required connection | Notes | Example |
Input Pay Schedule ID string / Required payScheduleId | Notes A UUID representing a pay schedule. | Example 00000000-0000-0000-0000-000000000000 |
#
Output Example Payload{ "data": { "data": [ { "uuid": "2097fe08-407a-46d7-b35c-a32402a2355e", "frequency": "Twice per month", "anchor_pay_date": "2020-05-15", "anchor_end_of_pay_period": "2020-05-08", "day_1": 15, "day_2": 31, "name": "Engineering", "auto_pilot": false } ], "headers": {} }}
#
List CompaniesList all companies that the currently authenticated user is a part of | key: listCompanies
Input | Notes |
---|---|
Input Connection connection / Required connection | Notes |
Input Pagination Page string page | Notes Which page of results to fetch. See https://docs.gusto.com/app-integrations/docs/pagination |
#
Output Example Payload{ "data": { "data": [ { "ein": "00-0000001", "entity_type": "C-Corporation", "tier": "core", "is_suspended": false, "company_status": "Approved", "uuid": "c7a07c73-a703-4462-9343-1b181182b6e0", "name": "Shoppe Studios LLC", "trade_name": "Record Shoppe", "is_partner_managed": false, "locations": [ { "street_1": "412 Kiera Stravenue", "street_2": "Suite 391", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA", "active": true }, { "street_1": "644 Fay Vista", "street_2": "Suite 842", "city": "Richmond", "state": "VA", "zip": "23218", "country": "USA", "active": true } ], "compensations": { "hourly": [ { "name": "Overtime", "multiple": 1.5 }, { "name": "Double overtime", "multiple": 2 }, { "name": "Regular", "multiple": 1 }, { "name": "Outstanding vacation", "multiple": 1 }, { "name": "Holiday", "multiple": 1 }, { "name": "Emergency sick - self care", "multiple": 1 }, { "name": "Emergency sick - caring for others", "multiple": 1 }, { "name": "FMLA Public Health Emergency Leave", "multiple": 1 }, { "name": "Regular Hours", "multiple": 1 } ], "fixed": [ { "name": "Bonus" }, { "name": "Commission" }, { "name": "Paycheck Tips" }, { "name": "Cash Tips" }, { "name": "Correction Payment" }, { "name": "Severance" }, { "name": "Minimum Wage Adjustment" }, { "name": "Reimbursement" } ], "paid_time_off": [ { "name": "Vacation Hours" }, { "name": "Sick Hours" }, { "name": "Holiday Hours" } ] }, "primary_signatory": { "first_name": "Alda", "middle_initial": "", "last_name": "Carter", "phone": "1-565-710-7558", "email": "louie.hessel7757869450111547@zemlak.biz", "home_address": { "street_1": "524 Roob Divide", "street_2": "Suite 565", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA" } }, "primary_payroll_admin": { "first_name": "Ian", "last_name": "Labadie", "phone": "1-565-710-7559", "email": "louie.hessel7757869450111547@zemlak.biz" } } ], "headers": {} }}
#
List Company AdminsList all admin users at a company | key: listCompanyAdmins
Input | Notes | Example |
---|---|---|
Input Company ID string / Required companyId | Notes A UUID representing a company. | Example 00000000-0000-0000-0000-000000000000 |
Input Connection connection / Required connection | Notes | Example |
Input Pagination Page string page | Notes Which page of results to fetch. See https://docs.gusto.com/app-integrations/docs/pagination | Example |
#
Output Example Payload{ "data": { "data": [ { "first_name": "Katherine", "last_name": "Johnson", "email": "Katherine@acmecorp.com", "uuid": "987058cc-23ee-46e9-81ef-5cee086cceca" }, { "first_name": "Anita", "last_name": "Borg", "email": "Anita@acmecorp.com", "uuid": "5de11791-98fd-4587-9ed0-d5d804b8e647" } ], "headers": {} }}
#
List EmployeesList employees of a company | key: listEmployees
Input | Notes | Example |
---|---|---|
Input Company ID string / Required companyId | Notes A UUID representing a company. | Example 00000000-0000-0000-0000-000000000000 |
Input Connection connection / Required connection | Notes | Example |
Input Pagination Page string page | Notes Which page of results to fetch. See https://docs.gusto.com/app-integrations/docs/pagination | Example |
#
Output Example Payload{ "data": { "data": [ { "uuid": "9779767c-6044-48e0-bf68-aeb370b9a2e7", "first_name": "Nicole", "middle_initial": "M", "last_name": "Boehm", "email": "kory7757869450111548@barton-hermiston.io", "company_uuid": "c44d66dc-c41b-4a60-9e25-5e93ff8583f2", "manager_uuid": "5e53e257-c8d6-45aa-aa8a-ec99283a3acd", "version": "414dedaca594b77135e0b8d2f398516d", "department": "Stage Hand", "department_uuid": "1802465d-4f68-4865-920c-1307ab095f12", "terminated": false, "two_percent_shareholder": false, "onboarded": true, "jobs": [ { "uuid": "5d5e3ce5-ea8f-4885-90e5-7ebaed03f7c5", "version": "91179081a7309c9fbd31bb3cf7b9893e", "employee_uuid": "a987bce1-6d06-43f8-9978-9db886f479fb", "current_compensation_uuid": "798a962f-0fcf-491e-9b71-cfa6a1db114f", "payment_unit": "Hour", "primary": true, "title": "Client Support Manager", "compensations": [ { "uuid": "94f17a77-cfe5-436a-af94-422bbf8248ff", "version": "233f0096a8015e62d9795fadf1fd300d", "payment_unit": "Hour", "flsa_status": "Nonexempt", "job_uuid": "64711ac0-83ff-4aaf-bec1-db72f5a44e56", "effective_date": "2021-01-20", "rate": "22.00", "adjust_for_minimum_wage": false, "minimum_wages": [] } ], "rate": "22.00", "hire_date": "2020-01-20", "location": { "uuid": "a82843df-3e90-4f4c-93bc-808122f88a46", "street_1": "412 Kiera Stravenue", "street_2": "Suite 391", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA", "inactive": false } } ], "eligible_paid_time_off": [ { "name": "Sick Hours", "accrual_unit": "Hour", "accrual_rate": "208.0", "accrual_method": "per_hour_worked", "accrual_period": "Year", "accrual_balance": "71.0", "maximum_accrual_balance": "240.0", "paid_at_termination": false }, { "name": "Vacation Hours", "accrual_unit": "Hour", "accrual_rate": "208.0", "accrual_period": "Year", "accrual_balance": "34.0", "maximum_accrual_balance": "240.0", "paid_at_termination": true } ], "terminations": [], "home_address": { "version": "7776defce07496b82f3f1ed469e48ae5", "employee_uuid": "628d203c-357b-4dd4-9ea1-8468b15dd58b", "street_1": "3772 Reynolds Centers", "street_2": "Suite 461", "city": "San Francisco", "state": "CA", "zip": "94107", "country": "USA", "active": true }, "garnishments": [], "date_of_birth": "1996-05-08", "has_ssn": true, "ssn": "", "phone": "1234567890", "preferred_first_name": "Vanessa", "work_email": "vanessa.boehm@example.com" } ], "headers": {} }}
#
List Pay SchedulesList pay schedules for a company | key: listPaySchedules
Input | Notes | Example |
---|---|---|
Input Company ID string / Required companyId | Notes A UUID representing a company. | Example 00000000-0000-0000-0000-000000000000 |
Input Connection connection / Required connection | Notes | Example |
Input Pagination Page string page | Notes Which page of results to fetch. See https://docs.gusto.com/app-integrations/docs/pagination | Example |
#
Output Example Payload{ "data": { "data": [ { "uuid": "2097fe08-407a-46d7-b35c-a32402a2355e", "frequency": "Twice per month", "anchor_pay_date": "2020-05-15", "anchor_end_of_pay_period": "2020-05-08", "day_1": 15, "day_2": 31, "name": "Engineering", "auto_pilot": false } ], "headers": {} }}
#
Raw RequestSend Raw Request to Gusto | key: rawRequest
Input | Default | Notes | Example |
---|---|---|---|
Input API Version string / Required apiVersion | Default 2023-04-01 | Notes | Example |
Input Connection connection / Required connection | Default | Notes | Example |
Input Data string data | Default | Notes The HTTP body payload to send to the URL. | Example {"exampleKey": "Example Data"} |
Input Debug Request boolean debugRequest | Default false | Notes Enabling this flag will log out the current request. | Example |
Input File Data string Key Value List fileData | Default | Notes File Data to be sent as a multipart form upload. | Example [{key: "example.txt", value: "My File Contents"}] |
Input File Data File Names string Key Value List fileDataFileNames | Default | Notes File names to apply to the file data inputs. Keys must match the file data keys above. | Example |
Input Form Data string Key Value List formData | Default | Notes The Form Data to be sent as a multipart form upload. | Example [{"key": "Example Key", "value": new Buffer("Hello World")}] |
Input Header string Key Value List headers | Default | Notes A list of headers to send with the request. | Example User-Agent: curl/7.64.1 |
Input Max Retry Count string maxRetries | Default 0 | Notes The maximum number of retries to attempt. | Example |
Input Method string / Required method | Default | Notes The HTTP method to use. | Example |
Input Query Parameter string Key Value List queryParams | Default | Notes A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | Example |
Input Response Type string / Required responseType | Default json | Notes The type of data you expect in the response. You can request json, text, or binary data. | Example |
Input Retry On All Errors boolean retryAllErrors | Default false | Notes If true, retries on all erroneous responses regardless of type. | Example |
Input Retry Delay (ms) string retryDelayMS | Default 0 | Notes The delay in milliseconds between retries. | Example |
Input Timeout string timeout | Default | Notes The maximum time that a client will await a response to its request | Example 2000 |
Input URL string / Required url | Default | Notes This is the URL to call. | Example /provision |
Input Use Exponential Backoff boolean useExponentialBackoff | Default false | Notes Specifies whether to use a pre-defined exponential backoff strategy for retries. | Example |