/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { flowsCreate } from "../funcs/flowsCreate.js"; import { ClientSDK, RequestOptions } from "../lib/sdks.js"; import { PostV1CompanyFlowsRequest, PostV1CompanyFlowsResponse, } from "../models/operations/postv1companyflows.js"; import { unwrapAsync } from "../types/fp.js"; export class Flows extends ClientSDK { /** * Create a flow * * @remarks * Generate a link to access a pre-built workflow in Gusto white-label UI. For security, all generated flows will expire within 1 hour of inactivity or 24 hours from creation time, whichever comes first. * * You can see a list of all possible flow types in our [Flow Types](https://docs.gusto.com/embedded-payroll/docs/flow-types) guide. * * You can also mix and match flow_types in the same category to create custom flows suitable for your needs. * * For instance, to create a custom onboarding flow that only includes `add_addresses`, `add_employees`, and `sign_all_forms` steps, simply stitch those flow_types together into a comma delimited string: * * ```json * { * "flow_type": "add_addresses,add_employees,sign_all_forms" * } * ``` * * Please be mindful of data dependencies in each step to achieve the best user experience. * * For more information and in-depth guides review the [Getting Started](https://docs.gusto.com/embedded-payroll/docs/flows-getting-started) guide for flows. * * scope: `flows:write` */ async create( request: PostV1CompanyFlowsRequest, options?: RequestOptions, ): Promise { return unwrapAsync(flowsCreate( this, request, options, )); } }