Skip to main content

Gusto Component

Manage payroll, benefits, and human resource within Gusto

Component key: gusto

Description#

Gusto 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 Connection#

To 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.

InputDefaultNotesExample
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 Company#

Allow a user to select one of their companies | key: selectCompany | type: picklist

InputNotes
Input
Connection
connection
/ Required
connection
Notes
 

Actions#

Get Company by ID#

Get company metadata by ID | key: getCompany

InputNotesExample
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 Employee#

Get an employee by ID | key: getEmployee

InputNotesExample
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 ID#

Get a pay schedules for a company by pay schedule ID | key: getPaySchedule

InputNotesExample
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 Companies#

List all companies that the currently authenticated user is a part of | key: listCompanies

InputNotes
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 Admins#

List all admin users at a company | key: listCompanyAdmins

InputNotesExample
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 Employees#

List employees of a company | key: listEmployees

InputNotesExample
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 Schedules#

List pay schedules for a company | key: listPaySchedules

InputNotesExample
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 Request#

Send Raw Request to Gusto | key: rawRequest

InputDefaultNotesExample
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