create_contract
Input parameters
Required input parameters
contract_typestringRequiredThe specific type of this contract
pay_as_you_go_time_basedpayg_taskspayg_milestonesongoing_time_basedcurrency_codestringRequiredThe currency code to use for this contract
ALcycle_endnumberRequiredThe day of the cycle_end_type in which the invoice cycle ends
1cycle_end_typestringRequiredThe end-type for the contract cycle. Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31.
DAY_OF_WEEKDAY_OF_LAST_WEEKDAY_OF_MONTHdeel_access_tokenslack#/types/credential/oauth2RequiredDeel Access token. See the authentication section for details.
documents_requiredbooleanRequiredIf true, the contractor is required to upload necessary compliance documents as per their country's labor laws
falsefrequencystringRequiredScale of the invoice cycle
weeklymonthlybiweeklysemimonthlycalendar-monthjob_titlestringRequiredThe job title to associate with this contract
Lead Sales Enablement Gurulegal_entity_idstringRequiredThe ID of the legal entity to associate with this contract
12345payment_due_daysnumberRequiredThe number of days between 0-90 in which the payment is due
45payment_due_typestringRequiredThe classification of how payments will be due (if payment is due on the last day of the month, use WITHIN_MONTH)
REGULARWITHIN_MONTHstart_dateslack#/types/dateRequiredThe date when this contract shall start, in YYYY-MM-DD format
2024-05-05team_idstringRequiredThe ID of the team to associate with this contract
12345titlestringRequiredThe title of the contract
Scott Slacksalot Sales ContractingOptional input parameters
amountnumberOptionalThe total amount to be paid for this contract (can be excluded when creating a pay-as-you-go, task-based, or milestone contracts)
scalestringOptionalThe frequency at which the amount is paid
hourlyweeklymonthlybiweeklysemimonthlycalendar-monthOutput parameters
Required output parameters
contract_idstringRequiredContract ID
contract_urlstringRequiredContract URL
Authentication
End-user authentication
User workflows that include a connector function relying on end-user authentication can only be started with a link trigger.
{
"deel_access_token": {
"credential_source": "END_USER"
}
}
End-user experience: User will be prompted to link their external account via OAuth when they first start the workflow that contains this connector.
Developer experience: Developer does not have to implement authentication in the app.
Usage info
First, import Connectors from deno-slack-hub into your project's import_map.json file, like this:
{
"imports": {
"deno-slack-hub/": "https://deno.land/x/deno_slack_hub@2.2.0/",
"deno-slack-sdk/": "https://deno.land/x/deno_slack_sdk@2.14.2/",
"deno-slack-api/": "https://deno.land/x/deno_slack_api@2.8.0/"
}
}
Next, import Connectors at the top of your workflow's definition file:
import { Connectors } from "deno-slack-hub/mod.ts";
Finally, add the connector as a step in your workflow just like you would a Slack function.
SomeWorkflow.addStep(
Connectors.Deel.functions.CreateContract, {
//...
🧙🏼 Your admin may need to approve the connector first. If your workspace has been configured to only allow admin-approved apps, the CLI will prompt you to send an admin approval request the first time you try to use a connector that hasn't been approved by an admin yet. While waiting for admin approval, the CLI may report an error like this:
Workflow function X is referring to an unknown step output parameter YYou can safely ignore this error; it will go away as soon as your workspace admin approves your request to use the connector.