The Twenty CRM connector lets your AI agent act in each user's Twenty CRM account. Each user connects their own Twenty CRM access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 30 tools.
- Tools
- 30
- What they doRead · write · destructive
- 15 · 10 · 515 read10 write5 destructive
- Users sign in with
- Access token
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Twenty CRM connection
In AgentKit > Connections, create a Twenty CRM connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'twenty'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Twenty CRM:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'twenty_list_companies',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "twenty"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Twenty CRM:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="twenty_list_companies",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Twenty CRM credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_tooltwenty_get_companyRetrieve a single company record in Twenty by id.Read-onlyGet Company
Retrieve a single company record in Twenty by id. Returns data.company with the record's fields and, at depth 1, its related records. Use twenty_get_company when the id is known. Use twenty_list_companies to find ids.
Inputs
idstringrequired- UUID of the company record.
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1
twenty_get_noteRetrieve a single note record in Twenty by id.Read-onlyGet Note
Retrieve a single note record in Twenty by id. Returns data.note with the record's fields and, at depth 1, its related records. Use twenty_get_note when the id is known. Use twenty_list_notes to find ids.
Inputs
idstringrequired- UUID of the note record.
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1
twenty_get_objectRetrieve one object type from the Twenty workspace data model by id, including its field definitions.Read-onlyGet Data Model Object
Retrieve one object type from the Twenty workspace data model by id, including its field definitions. Returns data.object with nameSingular, namePlural, labels, flags and its fields. Use twenty_get_object when the object id is known. Use twenty_list_objects to find ids.
Inputs
idstringrequired- UUID of the object metadata record.
twenty_get_opportunityRetrieve a single opportunity record in Twenty by id.Read-onlyGet Opportunity
Retrieve a single opportunity record in Twenty by id. Returns data.opportunity with the record's fields and, at depth 1, its related records. Use twenty_get_opportunity when the id is known. Use twenty_list_opportunities to find ids.
Inputs
idstringrequired- UUID of the opportunity record.
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1
twenty_get_personRetrieve a single person record in Twenty by id.Read-onlyGet Person
Retrieve a single person record in Twenty by id. Returns data.person with the record's fields and, at depth 1, its related records. Use twenty_get_person when the id is known. Use twenty_list_people to find ids.
Inputs
idstringrequired- UUID of the person record.
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1
twenty_get_taskRetrieve a single task record in Twenty by id.Read-onlyGet Task
Retrieve a single task record in Twenty by id. Returns data.task with the record's fields and, at depth 1, its related records. Use twenty_get_task when the id is known. Use twenty_list_tasks to find ids.
Inputs
idstringrequired- UUID of the task record.
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1
twenty_get_workspace_memberRetrieve a single workspace member in Twenty by id.Read-onlyGet Workspace Member
Retrieve a single workspace member in Twenty by id. Returns data.workspaceMember with the member's name, email, locale and time zone. Use twenty_get_workspace_member when the id is known. Use twenty_list_workspace_members to find ids.
Inputs
idstringrequired- UUID of the workspace member.
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1
twenty_list_companiesList companies records in Twenty with optional filtering, ordering and cursor pagination.Read-onlyList Companies
List companies records in Twenty with optional filtering, ordering and cursor pagination. Returns data.companies (array of company records), pageInfo (hasNextPage, startCursor, endCursor) and totalCount. Use twenty_list_companies to browse or filter. Use twenty_get_company to fetch one record by id.
Inputs
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1 ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
filterstring- Filter expression in the form field[COMPARATOR]:value. Combine conditions with commas (AND) or wrap them in or(...), and(...). Strings are quoted. Comparators include eq, neq, in, is, gt, gte, lt, lte, startsWith, like and ilike. Example: name[ilike]:"%acme%"
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 order_bystring- Sort order as comma-separated fields with an optional direction in brackets: AscNullsFirst, AscNullsLast, DescNullsFirst or DescNullsLast. Example: createdAt[DescNullsLast]
starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_fieldsList field definitions across all objects in the Twenty workspace data model, including custom fields.Read-onlyList Data Model Fields
List field definitions across all objects in the Twenty workspace data model, including custom fields. Returns data.fields (name, label, type, objectMetadataId, isNullable, options and settings), pageInfo and totalCount. Use twenty_list_fields to see which fields a record type accepts, for example before filtering or writing custom fields.
Inputs
ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_notesList notes records in Twenty with optional filtering, ordering and cursor pagination.Read-onlyList Notes
List notes records in Twenty with optional filtering, ordering and cursor pagination. Returns data.notes (array of note records), pageInfo (hasNextPage, startCursor, endCursor) and totalCount. Use twenty_list_notes to browse or filter. Use twenty_get_note to fetch one record by id.
Inputs
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1 ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
filterstring- Filter expression in the form field[COMPARATOR]:value. Combine conditions with commas (AND) or wrap them in or(...), and(...). Strings are quoted. Comparators include eq, neq, in, is, gt, gte, lt, lte, startsWith, like and ilike. Example: title[ilike]:"%call%"
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 order_bystring- Sort order as comma-separated fields with an optional direction in brackets: AscNullsFirst, AscNullsLast, DescNullsFirst or DescNullsLast. Example: createdAt[DescNullsLast]
starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_objectsList the object types in the Twenty workspace data model, including built-in objects such as people and companies and any custom objects.Read-onlyList Data Model Objects
List the object types in the Twenty workspace data model, including built-in objects such as people and companies and any custom objects. Returns data.objects (nameSingular, namePlural, labels, isCustom, isActive and fields), pageInfo and totalCount. Use twenty_list_objects to discover which record types exist in a workspace. Use twenty_list_fields to inspect field definitions.
Inputs
ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_opportunitiesList opportunities records in Twenty with optional filtering, ordering and cursor pagination.Read-onlyList Opportunities
List opportunities records in Twenty with optional filtering, ordering and cursor pagination. Returns data.opportunities (array of opportunity records), pageInfo (hasNextPage, startCursor, endCursor) and totalCount. Use twenty_list_opportunities to browse or filter. Use twenty_get_opportunity to fetch one record by id.
Inputs
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1 ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
filterstring- Filter expression in the form field[COMPARATOR]:value. Combine conditions with commas (AND) or wrap them in or(...), and(...). Strings are quoted. Comparators include eq, neq, in, is, gt, gte, lt, lte, startsWith, like and ilike. Example: stage[eq]:"PROPOSAL"
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 order_bystring- Sort order as comma-separated fields with an optional direction in brackets: AscNullsFirst, AscNullsLast, DescNullsFirst or DescNullsLast. Example: createdAt[DescNullsLast]
starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_peopleList people records in Twenty with optional filtering, ordering and cursor pagination.Read-onlyList People
List people records in Twenty with optional filtering, ordering and cursor pagination. Returns data.people (array of person records), pageInfo (hasNextPage, startCursor, endCursor) and totalCount. Use twenty_list_people to browse or filter. Use twenty_get_person to fetch one record by id.
Inputs
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1 ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
filterstring- Filter expression in the form field[COMPARATOR]:value. Combine conditions with commas (AND) or wrap them in or(...), and(...). Strings are quoted. Comparators include eq, neq, in, is, gt, gte, lt, lte, startsWith, like and ilike. Example: name.firstName[eq]:"Ada"
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 order_bystring- Sort order as comma-separated fields with an optional direction in brackets: AscNullsFirst, AscNullsLast, DescNullsFirst or DescNullsLast. Example: createdAt[DescNullsLast]
starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_tasksList tasks records in Twenty with optional filtering, ordering and cursor pagination.Read-onlyList Tasks
List tasks records in Twenty with optional filtering, ordering and cursor pagination. Returns data.tasks (array of task records), pageInfo (hasNextPage, startCursor, endCursor) and totalCount. Use twenty_list_tasks to browse or filter. Use twenty_get_task to fetch one record by id.
Inputs
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1 ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
filterstring- Filter expression in the form field[COMPARATOR]:value. Combine conditions with commas (AND) or wrap them in or(...), and(...). Strings are quoted. Comparators include eq, neq, in, is, gt, gte, lt, lte, startsWith, like and ilike. Example: status[eq]:"TODO"
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 order_bystring- Sort order as comma-separated fields with an optional direction in brackets: AscNullsFirst, AscNullsLast, DescNullsFirst or DescNullsLast. Example: createdAt[DescNullsLast]
starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_list_workspace_membersList the members of the Twenty workspace with optional filtering and cursor pagination.Read-onlyList Workspace Members
List the members of the Twenty workspace with optional filtering and cursor pagination. Returns data.workspaceMembers (id, name, userEmail and related fields), pageInfo and totalCount. Use twenty_list_workspace_members to find the ids needed for owner and assignee fields on companies, opportunities and tasks.
Inputs
depthinteger- Level of related records to include. 0 returns only the record, 1 also includes its direct relations.one of
01default1 ending_beforestring- Cursor for the previous page. Pass the startCursor value from the pageInfo of the previous response.
filterstring- Filter expression in the form field[COMPARATOR]:value. Combine conditions with commas (AND) or wrap them in or(...), and(...). Strings are quoted. Comparators include eq, neq, in, is, gt, gte, lt, lte, startsWith, like and ilike. Example: userEmail[eq]:"ada@example.com"
limitinteger- Maximum number of records to return per page. The API default is 60 and the maximum is 60.default
60 order_bystring- Sort order as comma-separated fields with an optional direction in brackets: AscNullsFirst, AscNullsLast, DescNullsFirst or DescNullsLast. Example: createdAt[DescNullsLast]
starting_afterstring- Cursor for the next page. Pass the endCursor value from the pageInfo of the previous response.
twenty_create_companyCreate a new company record in Twenty.WriteCreate Company
Create a new company record in Twenty. Every field is optional, so send only the values to set. Returns data.createCompany with the new record, including its id. Use twenty_create_company for a new record. Use twenty_update_company to change an existing one.
Inputs
account_owner_idstring- UUID of the workspace member who owns the account. Use twenty_list_workspace_members to find it.
address_citystring- City of the company address.
address_countrystring- Country of the company address.
address_postcodestring- Postal code of the company address.
address_statestring- State or region of the company address.
address_street1string- First line of the street address.
arr_amount_microsnumber- Annual recurring revenue in micros, where 1,000,000 micros equals one currency unit.
arr_currency_codestring- ISO 4217 currency code for the annual recurring revenue.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 domain_urlstring- Company website URL.
employeesinteger- Number of employees.
ideal_customer_profileboolean- Whether the company matches the ideal customer profile.
linkedin_urlstring- URL of the company's LinkedIn page.
namestring- Company name.
x_urlstring- URL of the company's X (Twitter) profile.
twenty_create_noteCreate a new note record in Twenty.WriteCreate Note
Create a new note record in Twenty. Every field is optional, so send only the values to set. Returns data.createNote with the new record, including its id. Use twenty_create_note for a new record. Use twenty_update_note to change an existing one.
Inputs
body_markdownstring- Note body as Markdown text.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 titlestring- Note title.
twenty_create_opportunityCreate a new opportunity record in Twenty.WriteCreate Opportunity
Create a new opportunity record in Twenty. Every field is optional, so send only the values to set. Returns data.createOpportunity with the new record, including its id. Use twenty_create_opportunity for a new record. Use twenty_update_opportunity to change an existing one.
Inputs
amount_microsnumber- Opportunity amount in micros, where 1,000,000 micros equals one currency unit.
close_datestring- Expected close date as an ISO 8601 datetime.
company_idstring- UUID of the company the opportunity belongs to. Use twenty_list_companies to find it.
currency_codestring- ISO 4217 currency code for the amount.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 namestring- Opportunity name.
owner_idstring- UUID of the workspace member who owns the opportunity. Use twenty_list_workspace_members to find it.
point_of_contact_idstring- UUID of the person who is the point of contact. Use twenty_list_people to find it.
stagestring- Pipeline stage of the opportunity.one of
NEWSCREENINGMEETINGPROPOSALCUSTOMER
twenty_create_personCreate a new person record in Twenty.WriteCreate Person
Create a new person record in Twenty. Every field is optional, so send only the values to set. Returns data.createPerson with the new record, including its id. Use twenty_create_person for a new record. Use twenty_update_person to change an existing one.
Inputs
citystring- City where the person is based.
company_idstring- UUID of the company the person works for. Use twenty_list_companies to find it.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 emailstring- Primary email address of the person.
first_namestring- Person's first name.
job_titlestring- Person's job title.
last_namestring- Person's last name.
linkedin_urlstring- URL of the person's LinkedIn profile.
phone_calling_codestring- International calling code including the plus sign, for the phone number.
phone_numberstring- Primary phone number without the calling code.
x_urlstring- URL of the person's X (Twitter) profile.
twenty_create_taskCreate a new task record in Twenty.WriteCreate Task
Create a new task record in Twenty. Every field is optional, so send only the values to set. Returns data.createTask with the new record, including its id. Use twenty_create_task for a new record. Use twenty_update_task to change an existing one.
Inputs
assignee_idstring- UUID of the workspace member assigned to the task. Use twenty_list_workspace_members to find it.
body_markdownstring- Task description as Markdown text.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 due_atstring- Due date as an ISO 8601 datetime.
statusstring- Task status.one of
TODOIN_PROGRESSDONE titlestring- Task title.
twenty_update_companyUpdate an existing company record in Twenty.WriteUpdate Company
Update an existing company record in Twenty. Send only the fields to change; omitted fields are left as they are. Returns data.updateCompany with the updated record. Use twenty_update_company to change a record by id. Use twenty_create_company to add a new one.
- Idempotent
Inputs
idstringrequired- UUID of the company record to update.
account_owner_idstring- UUID of the workspace member who owns the account. Use twenty_list_workspace_members to find it.
address_citystring- City of the company address.
address_countrystring- Country of the company address.
address_postcodestring- Postal code of the company address.
address_statestring- State or region of the company address.
address_street1string- First line of the street address.
arr_amount_microsnumber- Annual recurring revenue in micros, where 1,000,000 micros equals one currency unit.
arr_currency_codestring- ISO 4217 currency code for the annual recurring revenue.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 domain_urlstring- Company website URL.
employeesinteger- Number of employees.
ideal_customer_profileboolean- Whether the company matches the ideal customer profile.
linkedin_urlstring- URL of the company's LinkedIn page.
namestring- Company name.
x_urlstring- URL of the company's X (Twitter) profile.
twenty_update_noteUpdate an existing note record in Twenty.WriteUpdate Note
Update an existing note record in Twenty. Send only the fields to change; omitted fields are left as they are. Returns data.updateNote with the updated record. Use twenty_update_note to change a record by id. Use twenty_create_note to add a new one.
- Idempotent
Inputs
idstringrequired- UUID of the note record to update.
body_markdownstring- Note body as Markdown text.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 titlestring- Note title.
twenty_update_opportunityUpdate an existing opportunity record in Twenty.WriteUpdate Opportunity
Update an existing opportunity record in Twenty. Send only the fields to change; omitted fields are left as they are. Returns data.updateOpportunity with the updated record. Use twenty_update_opportunity to change a record by id. Use twenty_create_opportunity to add a new one.
- Idempotent
Inputs
idstringrequired- UUID of the opportunity record to update.
amount_microsnumber- Opportunity amount in micros, where 1,000,000 micros equals one currency unit.
close_datestring- Expected close date as an ISO 8601 datetime.
company_idstring- UUID of the company the opportunity belongs to. Use twenty_list_companies to find it.
currency_codestring- ISO 4217 currency code for the amount.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 namestring- Opportunity name.
owner_idstring- UUID of the workspace member who owns the opportunity. Use twenty_list_workspace_members to find it.
point_of_contact_idstring- UUID of the person who is the point of contact. Use twenty_list_people to find it.
stagestring- Pipeline stage of the opportunity.one of
NEWSCREENINGMEETINGPROPOSALCUSTOMER
twenty_update_personUpdate an existing person record in Twenty.WriteUpdate Person
Update an existing person record in Twenty. Send only the fields to change; omitted fields are left as they are. Returns data.updatePerson with the updated record. Use twenty_update_person to change a record by id. Use twenty_create_person to add a new one.
- Idempotent
Inputs
idstringrequired- UUID of the person record to update.
citystring- City where the person is based.
company_idstring- UUID of the company the person works for. Use twenty_list_companies to find it.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 emailstring- Primary email address of the person.
first_namestring- Person's first name.
job_titlestring- Person's job title.
last_namestring- Person's last name.
linkedin_urlstring- URL of the person's LinkedIn profile.
phone_calling_codestring- International calling code including the plus sign, for the phone number.
phone_numberstring- Primary phone number without the calling code.
x_urlstring- URL of the person's X (Twitter) profile.
twenty_update_taskUpdate an existing task record in Twenty.WriteUpdate Task
Update an existing task record in Twenty. Send only the fields to change; omitted fields are left as they are. Returns data.updateTask with the updated record. Use twenty_update_task to change a record by id. Use twenty_create_task to add a new one.
- Idempotent
Inputs
idstringrequired- UUID of the task record to update.
assignee_idstring- UUID of the workspace member assigned to the task. Use twenty_list_workspace_members to find it.
body_markdownstring- Task description as Markdown text.
depthinteger- Level of related records to include in the response. 0 returns only the record, 1 also includes its direct relations.one of
01default1 due_atstring- Due date as an ISO 8601 datetime.
statusstring- Task status.one of
TODOIN_PROGRESSDONE titlestring- Task title.
twenty_delete_companyDelete a company record in Twenty by id.DestructiveDelete Company
Delete a company record in Twenty by id. With soft_delete true the record is moved to the trash; otherwise it is deleted permanently. Returns data.deleteCompany with the id of the deleted record. Use twenty_delete_company to remove a record. Prefer soft_delete true when the deletion may need to be undone.
- Idempotent
Inputs
idstringrequired- UUID of the company record to delete.
soft_deleteboolean- If true, the record is soft deleted and can be restored. If false, the record is deleted permanently. The API default is false, which is permanent.default
false
twenty_delete_noteDelete a note record in Twenty by id.DestructiveDelete Note
Delete a note record in Twenty by id. With soft_delete true the record is moved to the trash; otherwise it is deleted permanently. Returns data.deleteNote with the id of the deleted record. Use twenty_delete_note to remove a record. Prefer soft_delete true when the deletion may need to be undone.
- Idempotent
Inputs
idstringrequired- UUID of the note record to delete.
soft_deleteboolean- If true, the record is soft deleted and can be restored. If false, the record is deleted permanently. The API default is false, which is permanent.default
false
twenty_delete_opportunityDelete a opportunity record in Twenty by id.DestructiveDelete Opportunity
Delete a opportunity record in Twenty by id. With soft_delete true the record is moved to the trash; otherwise it is deleted permanently. Returns data.deleteOpportunity with the id of the deleted record. Use twenty_delete_opportunity to remove a record. Prefer soft_delete true when the deletion may need to be undone.
- Idempotent
Inputs
idstringrequired- UUID of the opportunity record to delete.
soft_deleteboolean- If true, the record is soft deleted and can be restored. If false, the record is deleted permanently. The API default is false, which is permanent.default
false
twenty_delete_personDelete a person record in Twenty by id.DestructiveDelete Person
Delete a person record in Twenty by id. With soft_delete true the record is moved to the trash; otherwise it is deleted permanently. Returns data.deletePerson with the id of the deleted record. Use twenty_delete_person to remove a record. Prefer soft_delete true when the deletion may need to be undone.
- Idempotent
Inputs
idstringrequired- UUID of the person record to delete.
soft_deleteboolean- If true, the record is soft deleted and can be restored. If false, the record is deleted permanently. The API default is false, which is permanent.default
false
twenty_delete_taskDelete a task record in Twenty by id.DestructiveDelete Task
Delete a task record in Twenty by id. With soft_delete true the record is moved to the trash; otherwise it is deleted permanently. Returns data.deleteTask with the id of the deleted record. Use twenty_delete_task to remove a record. Prefer soft_delete true when the deletion may need to be undone.
- Idempotent
Inputs
idstringrequired- UUID of the task record to delete.
soft_deleteboolean- If true, the record is soft deleted and can be restored. If false, the record is deleted permanently. The API default is false, which is permanent.default
false
No tools match.