---
title: "Actions: T"
description: "How to set up each action of the 13 apps starting with T."
label: "T"
generated: "the tool catalog in services/core/src/tool-catalog"
---


Apps starting with T. Add any of these from **Integrations → n8n → Add tools → Browse apps**; see [Set up an action](/build/set-up-actions) for each way a key is sent, and the [catalog index](/reference/actions) for every app.

## Taiga

- **n8n node:** [Taiga](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.taiga/) (`n8n-nodes-base.taiga`, version 1), 20 actions.
- **n8n performs it:** runs on the n8n credential *Taiga API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/taiga/)).
- **Veefore performs it:** not available. Taiga first logs in with the username and password for a token; n8n performs it.

**Taiga in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an epic | n8n performs it | `projectId`, `subject` |
| Delete an epic | n8n performs it | `epicId` |
| Get an epic | n8n performs it | `epicId` |
| Get many epics | n8n performs it | `projectId` |
| Update an epic | n8n performs it | `epicId` |
| Create an issue | n8n performs it | `projectId`, `subject` |
| Delete an issue | n8n performs it | `issueId` |
| Get an issue | n8n performs it | `issueId` |
| Get many issues | n8n performs it | `projectId` |
| Update an issue | n8n performs it | `issueId` |
| Create a task | n8n performs it | `projectId`, `subject` |
| Delete a task | n8n performs it | `taskId` |
| Get a task | n8n performs it | `taskId` |
| Get many tasks | n8n performs it | `projectId` |
| Update a task | n8n performs it | `taskId` |
| Create a user story | n8n performs it | `projectId`, `subject` |
| Delete a user story | n8n performs it | `userStoryId` |
| Get a user story | n8n performs it | `userStoryId` |
| Get many user stories | n8n performs it | `projectId` |
| Update a user story | n8n performs it | `userStoryId` |

## Tapfiliate

- **n8n node:** [Tapfiliate](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.tapfiliate/) (`n8n-nodes-base.tapfiliate`, version 1), 12 actions.
- **n8n performs it:** runs on the n8n credential *Tapfiliate API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/tapfiliate/)).
- **Veefore performs it:** 12 of 12 actions, with the key in a header, as `Api-Key: <key>`.
- **You enter:** API key.
- **API address:** `https://api.tapfiliate.com/1.6`.
- **Get the key:** [support.tapfiliate.com](https://support.tapfiliate.com/en/articles/12793297-how-to-find-account-id-and-api-key)

**Tapfiliate in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an affiliate | `POST /affiliates/` | `email`, `firstname`, `lastname` |
| Delete an affiliate | `DELETE /affiliates/{affiliateId}/` | `affiliateId` |
| Get an affiliate | `GET /affiliates/{affiliateId}/` | `affiliateId` |
| Get many affiliates | `GET /affiliates/` | — |
| Add metadata to an affiliate | `PUT /affiliates/{affiliateId}/meta-data/{key}/` | `affiliateId`, `key` |
| Remove metadata from an affiliate | `DELETE /affiliates/{affiliateId}/meta-data/{key}/` | `affiliateId`, `key` |
| Update metadata for an affiliate | `PUT /affiliates/{affiliateId}/meta-data/` | `affiliateId` |
| Add a program affiliate | `POST /programs/{programId}/affiliates/` | `programId`, `affiliateId` |
| Approve a program affiliate | `PUT /programs/{programId}/affiliates/{affiliateId}/approved/` | `programId`, `affiliateId` |
| Disapprove a program affiliate | `DELETE /programs/{programId}/affiliates/{affiliateId}/approved/` | `programId`, `affiliateId` |
| Get a program affiliate | `GET /programs/{programId}/affiliates/{affiliateId}/` | `programId`, `affiliateId` |
| Get many program affiliates | `GET /programs/{programId}/affiliates/` | `programId` |

## Telegram

- **n8n node:** [Telegram](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/) (`n8n-nodes-base.telegram`, version 1.2), 27 actions.
- **n8n performs it:** runs on the n8n credential *Telegram API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/telegram/)).
- **Veefore performs it:** 26 of 27 actions, with the key in the URL path, where the endpoint has `{credential}`.
- **You enter:** API key.
- **API address:** `https://api.telegram.org/bot{credential}`.
- **Get the key:** [telegram.me](https://telegram.me/BotFather)

**Telegram in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get a chat | `POST /getChat` | `chatId` |
| Get all administrators in a chat | `POST /getChatAdministrators` | `chatId` |
| Get a member in a chat | `POST /getChatMember` | `chatId`, `userId` |
| Leave a chat | `POST /leaveChat` | `chatId` |
| Set description on a chat | `POST /setChatDescription` | `chatId`, `description` |
| Set a title on a chat | `POST /setChatTitle` | `chatId`, `title` |
| Answer Query a callback | `POST /answerCallbackQuery` | `queryId` |
| Answer an inline query callback | `POST /answerInlineQuery` | `queryId`, `results` |
| Get a file | `POST /getFile` | `fileId` |
| Delete a chat message | `POST /deleteMessage` | `chatId`, `messageId` |
| Edit a text message | `POST /editMessageText` | `chatId`, `messageId`, `text` |
| Pin a chat message | `POST /pinChatMessage` | `chatId`, `messageId` |
| Send an animated file | `POST /sendAnimation` | `chatId`, `binaryData` |
| Send an audio file | `POST /sendAudio` | `chatId`, `binaryData` |
| Send a chat action | `POST /sendChatAction` | `chatId` |
| Send a document | `POST /sendDocument` | `chatId`, `binaryData` |
| Send a location | `POST /sendLocation` | `chatId` |
| Send a media group message | `POST /sendMediaGroup` | `chatId` |
| Send a text message | `POST /sendMessage` | `chatId`, `text` |
| Send a message draft | `POST /sendMessageDraft` | `chatId`, `draftId` |
| Send a rich message | `POST /sendRichMessage` | `chatId`, `richMessageText` |
| Send a rich message draft | `POST /sendRichMessageDraft` | `chatId`, `richMessageText`, `draftId` |
| Send message and wait for response | n8n performs it | `chatId`, `message` |
| Send a photo message | `POST /sendPhoto` | `chatId`, `binaryData` |
| Send a sticker | `POST /sendSticker` | `chatId`, `binaryData` |
| Send a video | `POST /sendVideo` | `chatId`, `binaryData` |
| Unpin a chat message | `POST /unpinChatMessage` | `chatId`, `messageId` |

## TheHive

- **n8n node:** [TheHive](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.thehive/) (`n8n-nodes-base.theHive`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *The Hive API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/thehive/)).
- **Veefore performs it:** 4 of 4 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://{url}/api`.

**TheHive in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a log | `POST /case/task/{taskId}/log` | `taskId`, `message`, `startDate`, `status`, `url` |
| Execute a responder | `POST /connector/cortex/action` | `id`, `url` |
| Get many logs | `POST /case/task/log/_search` | `taskId`, `url` |
| Get a log | `POST /case/task/log/_search` | `id`, `url` |

## TheHive 5

- **n8n node:** [TheHive 5](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.thehiveproject/) (`n8n-nodes-base.theHiveProject`, version 1), 48 actions.
- **n8n performs it:** runs on the n8n credential *The Hive 5 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/thehive/)).
- **Veefore performs it:** 48 of 48 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://{url}/api`.

**TheHive 5 in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an alert | `POST /v1/alert` | `url` |
| Delete an alert | `DELETE /v1/alert/{alertId}` | `alertId`, `url` |
| Execute responder on an alert | `POST /connector/cortex/action` | `id`, `responder`, `url` |
| Get an alert | `GET /v1/alert/{alertId}` | `alertId`, `url` |
| Merge an alert into a case | `POST /alert/{alertId}/merge/{caseId}` | `alertId`, `caseId`, `url` |
| Promote an alert to a case | `POST /v1/alert/{alertId}/case` | `alertId`, `url` |
| Search alerts | `POST /v1/query` | `url` |
| Update an alert | `PATCH /v1/alert/{id}` | `url`, `id` |
| Update an alert status | `PATCH /v1/alert/{alertId}` | `alertId`, `status`, `url` |
| Add attachment to a case | `POST /v1/case/{caseId}/attachments` | `caseId`, `url` |
| Create a case | `POST /v1/case` | `url` |
| Delete attachment from a case | `DELETE /v1/case/{caseId}/attachment/{attachmentId}` | `caseId`, `attachmentId`, `url` |
| Delete an case | `DELETE /v1/case/{caseId}` | `caseId`, `url` |
| Execute responder on a case | `POST /connector/cortex/action` | `id`, `responder`, `url` |
| Get a case | `POST /v1/query` | `caseId`, `url` |
| Get attachment from a case | `GET /v1/case/{caseId}/attachment/{attachmentId}/download` | `caseId`, `attachmentId`, `url` |
| Get timeline of a case | `GET /v1/case/{caseId}/timeline` | `caseId`, `url` |
| Search cases | `POST /v1/query` | `url` |
| Update a case | `PATCH /v1/case/{id}` | `url`, `id` |
| Create a comment in a case or alert | `POST /v1/{addTo}/{id}/comment` | `id`, `message`, `url`, `addTo` |
| Delete a comment | `DELETE /v1/comment/{commentId}` | `commentId`, `url` |
| Search comments | `POST /v1/query` | `url` |
| Update a comment | `PATCH /v1/comment/{commentId}` | `commentId`, `message`, `url` |
| Create an observable | `POST /v1/{createIn}/{id}/observable` | `id`, `dataType`, `url`, `createIn` |
| Delete an observable | `DELETE /v1/observable/{observableId}` | `observableId`, `url` |
| Execute analyzer on an observable | `POST /connector/cortex/job` | `observableId`, `analyzers`, `url` |
| Execute responder on an observable | `POST /connector/cortex/action` | `id`, `responder`, `url` |
| Get an observable | `POST /v1/query` | `observableId`, `url` |
| Search observables | `POST /v1/query` | `url` |
| Update an observable | `PATCH /v1/observable/{id}` | `url`, `id` |
| Create a page | `POST /v1/page` | `caseId`, `title`, `category`, `content`, `url` |
| Delete a page | `DELETE /v1/page/{pageId}` | `pageId`, `url` |
| Search pages | `POST /v1/query` | `url` |
| Update a page | `PATCH /v1/page/{pageId}` | `caseId`, `pageId`, `url` |
| Execute a query | `POST /v1/query` | `queryJson`, `url` |
| Create a task | `POST /v1/case/{caseId}/task` | `caseId`, `url` |
| Delete an task | `DELETE /v1/task/{taskId}` | `taskId`, `url` |
| Execute responder on a task | `POST /connector/cortex/action` | `id`, `responder`, `url` |
| Get a task | `POST /v1/query` | `taskId`, `url` |
| Search tasks | `POST /v1/query` | `url` |
| Update a task | `PATCH /v1/task/{id}` | `url`, `id` |
| Add attachment to a task log | `POST /v1/log/{logId}/attachments` | `logId`, `url` |
| Create a task log | `POST /v1/task/{taskId}/log` | `taskId`, `url` |
| Delete task log | `DELETE /v1/log/{logId}` | `logId`, `url` |
| Delete attachment from a task log | `DELETE /v1/log/{logId}/attachments/{attachmentId}` | `logId`, `attachmentId`, `url` |
| Execute responder on a task log | `POST /connector/cortex/action` | `id`, `responder`, `url` |
| Get a task log | `POST /v1/query` | `logId`, `url` |
| Search task logs | `POST /v1/query` | `url` |

## TimescaleDB

- **n8n node:** [TimescaleDB](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.timescaledb/) (`n8n-nodes-base.timescaleDb`, version 1.1), 3 actions.
- **n8n performs it:** runs on the n8n credential *TimescaleDB* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/timescaledb/)).
- **Veefore performs it:** not available. TimescaleDB is not a web API (a database, queue, file transfer or local step), so only n8n can perform it.

**TimescaleDB in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Execute a SQL query | n8n performs it | `query` |
| Insert rows in database | n8n performs it | `schema`, `table` |
| Update rows in database | n8n performs it | `schema`, `table`, `updateKey` |

## Todoist

- **n8n node:** [Todoist](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.todoist/) (`n8n-nodes-base.todoist`, version 2.2), 36 actions.
- **n8n performs it:** runs on the n8n credential *Todoist API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/todoist/)).
- **Veefore performs it:** 32 of 36 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://api.todoist.com/api/v1`.
- **Get the key:** [app.todoist.com](https://app.todoist.com/app/settings/integrations)

**Todoist in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Close a task | `POST /tasks/{taskId}/close` | `taskId` |
| Create a task | `POST /tasks` | `project`, `content` |
| Delete a task | `DELETE /tasks/{taskId}` | `taskId` |
| Get a task | `GET /tasks/{taskId}` | `taskId` |
| Get many tasks | `GET /tasks` | — |
| Move a task | `POST /tasks/{taskId}/move` | `taskId`, `project` |
| Quick add a task | `POST /tasks/quick` | `text` |
| Reopen a task | `POST /tasks/{taskId}/reopen` | `taskId` |
| Update a task | `POST /tasks/{taskId}` | `taskId` |
| Archive a project | `POST /projects/{projectId}/archive` | `projectId` |
| Create a project | `POST /projects` | `name` |
| Delete a project | `DELETE /projects/{projectId}` | `projectId` |
| Get a project | `GET /projects/{projectId}` | `projectId` |
| Get project collaborators | `GET /projects/{projectId}/collaborators` | `projectId` |
| Get many projects | `GET /projects` | — |
| Unarchive a project | `POST /projects/{projectId}/unarchive` | `projectId` |
| Update a project | `POST /projects/{projectId}` | `projectId` |
| Create a section | `POST /sections` | `sectionProject`, `sectionName` |
| Delete a section | `DELETE /sections/{sectionId}` | `sectionId` |
| Get a section | `GET /sections/{sectionId}` | `sectionId` |
| Get many sections | `GET /sections` | — |
| Update a section | `POST /sections/{sectionId}` | `sectionId` |
| Create a comment | `POST /comments` | `commentTaskId`, `commentContent` |
| Delete a comment | `DELETE /comments/{commentId}` | `commentId` |
| Get a comment | `GET /comments/{commentId}` | `commentId` |
| Get many comments | `GET /comments` | — |
| Update a comment | `POST /comments/{commentId}` | `commentId` |
| Create a label | `POST /labels` | `labelName` |
| Delete a label | `DELETE /labels/{labelId}` | `labelId` |
| Get a label | `GET /labels/{labelId}` | `labelId` |
| Get many labels | `GET /labels` | — |
| Update a label | `POST /labels/{labelId}` | `labelId` |
| Create a reminder | n8n performs it | `itemId`, `dueDateType`, `natural_language_representation` |
| Delete a reminder | n8n performs it | `reminderId` |
| Get many reminders | n8n performs it | — |
| Update a reminder | n8n performs it | `reminderId` |

## TOTP

- **n8n node:** [TOTP](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.totp/) (`n8n-nodes-base.totp`, version 1), 1 action.
- **n8n performs it:** runs on the n8n credential *TOTP API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/totp/)).
- **Veefore performs it:** not available. TOTP is not a web API (a database, queue, file transfer or local step), so only n8n can perform it.
- **Get the key:** [github.com](https://github.com/google/google-authenticator/wiki/Key-Uri-Format#secret)

**TOTP in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Generate secret | n8n performs it | — |

## TravisCI

- **n8n node:** [TravisCI](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.travisci/) (`n8n-nodes-base.travisCi`, version 1), 5 actions.
- **n8n performs it:** runs on the n8n credential *Travis API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/travisci/)).
- **Veefore performs it:** 5 of 5 actions, with the key in a header, as `Authorization: token <key>`.
- **You enter:** API token.
- **API address:** `https://api.travis-ci.com`.
- **Get the key:** [app.travis-ci.com](https://app.travis-ci.com/account/preferences)

**TravisCI in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Cancel a build | `POST /build/{buildId}/cancel` | `buildId` |
| Get a build | `GET /build/{buildId}` | `buildId` |
| Get many builds | `GET /builds` | — |
| Restart a build | `POST /build/{buildId}/restart` | `buildId` |
| Trigger a build | `POST /repo/{slug}/requests` | `slug` |

## Trello

- **n8n node:** [Trello](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.trello/) (`n8n-nodes-base.trello`, version 1), 41 actions.
- **n8n performs it:** runs on the n8n credential *Trello API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/trello/)).
- **Veefore performs it:** 41 of 41 actions, with the key in the query string, as `?key=<key>`.
- **You enter:** API key, API token.
- **Also sent:** API token in the query as `token`.
- **API address:** `https://api.trello.com/1`.
- **Get the key:** [trello.com](https://trello.com/power-ups/admin)

**Trello in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create an attachment | `POST /cards/{cardId}/attachments` | `cardId`, `url` |
| Delete an attachment | `DELETE /cards/{cardId}/attachments/{id}` | `cardId`, `id` |
| Get an attachment | `GET /cards/{cardId}/attachments/{id}` | `cardId`, `id` |
| Get many attachments | `GET /cards/{cardId}/attachments` | `cardId` |
| Create a board | `POST /boards` | `name` |
| Delete a board | `DELETE /boards/{id}` | `id` |
| Get a board | `GET /boards/{id}` | `id` |
| Update a board | `PUT /boards/{id}` | `id` |
| Add a board member | `PUT /boards/{id}/members/{idMember}` | `id`, `idMember`, `type` |
| Get many board members | `GET /boards/{id}/members` | `id` |
| Invite a board member | `PUT /boards/{id}/members` | `id`, `email` |
| Remove a board member | `DELETE /boards/{id}/members/{idMember}` | `id`, `idMember` |
| Create a card | `POST /cards` | `listId`, `name` |
| Delete a card | `DELETE /cards/{id}` | `id` |
| Get a card | `GET /cards/{id}` | `id` |
| Update a card | `PUT /cards/{id}` | `id` |
| Create a card comment | `POST /cards/{cardId}/actions/comments` | `cardId`, `text` |
| Delete a card comment | `DELETE /cards/{cardId}/actions/{commentId}/comments` | `cardId`, `commentId` |
| Update a card comment | `PUT /cards/{cardId}/actions/{commentId}/comments` | `cardId`, `commentId`, `text` |
| Create a checklist | `POST /cards/{cardId}/checklists` | `cardId`, `name` |
| Create checklist item | `POST /checklists/{checklistId}/checkItems` | `checklistId`, `name` |
| Delete a checklist | `DELETE /cards/{cardId}/checklists/{id}` | `cardId`, `id` |
| Delete a checklist item | `DELETE /cards/{cardId}/checkItem/{checkItemId}` | `cardId`, `checkItemId` |
| Get a checklist | `GET /checklists/{id}` | `id` |
| Get checklist items | `GET /cards/{cardId}/checkItem/{checkItemId}` | `cardId`, `checkItemId` |
| Get completed checklist items | `GET /cards/{cardId}/checkItemStates` | `cardId` |
| Get many checklists | `GET /cards/{cardId}/checklists` | `cardId` |
| Update a checklist item | `PUT /cards/{cardId}/checkItem/{checkItemId}` | `cardId`, `checkItemId` |
| Add a label to a card | `POST /cards/{cardId}/idLabels` | `cardId`, `id` |
| Create a label | `POST /labels` | `boardId`, `name`, `color` |
| Delete a label | `DELETE /labels/{id}` | `id` |
| Get a label | `GET /labels/{id}` | `id` |
| Get many labels | `GET /board/{boardId}/labels` | `boardId` |
| Remove a label from a card | `DELETE /cards/{cardId}/idLabels/{id}` | `cardId`, `id` |
| Update a label | `PUT /labels/{id}` | `id` |
| Archive/unarchive a list | `PUT /lists/{id}/closed` | `id` |
| Create a list | `POST /lists` | `idBoard`, `name` |
| Get a list | `GET /lists/{id}` | `id` |
| Get all cards in a list | `GET /lists/{id}/cards` | `id` |
| Get many lists | `GET /boards/{id}/lists` | `id` |
| Update a list | `PUT /lists/{id}` | `id` |

## Twake

- **n8n node:** [Twake](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twake/) (`n8n-nodes-base.twake`, version 1), 1 action.
- **n8n performs it:** runs on the n8n credential *Twake Cloud API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/twake/)).
- **Veefore performs it:** 1 of 1 action, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://plugins.twake.app/plugins/n8n`.
- **Get the key:** [web.twake.app](https://web.twake.app/)

**Twake in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Send a message | `POST /actions/message/save` | `content` |

## Twilio

- **n8n node:** [Twilio](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twilio/) (`n8n-nodes-base.twilio`, version 1), 2 actions.
- **n8n performs it:** runs on the n8n credential *Twilio API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/twilio/)).
- **Veefore performs it:** 2 of 2 actions, with HTTP basic auth: username your username, password your password.
- **You enter:** Username, Password.
- **API address:** `https://api.twilio.com/2010-04-01/Accounts/{accountSid}`.
- **Get the key:** [console.twilio.com](https://console.twilio.com/)

**Twilio in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Make a call | `POST /Calls.json` | `from`, `to`, `message`, `accountSid` |
| Send an SMS/MMS/WhatsApp message | `POST /Messages.json` | `from`, `to`, `message`, `accountSid` |

**Twilio API (OpenAPI)**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Send an SMS | `POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json` | `AccountSid`, `To`, `From` or `MessagingServiceSid`, `Body` or `MediaUrl` or `ContentSid` |
| Make a phone call | `POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls.json` | `AccountSid`, `To`, `From`, `Url` or `Twiml` or `ApplicationSid` |

Username is your Account SID (or an API key SID), password the auth token or API key secret.

## Twist

- **n8n node:** [Twist](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twist/) (`n8n-nodes-base.twist`, version 1), 22 actions.
- **n8n performs it:** runs on the n8n credential *Twist OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/twist/)).
- **Veefore performs it:** 22 of 22 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://twist.com/oauth/access_token` (scope `attachments:write,channels:remove,comments:remove,messages:remove,threads:remove,workspaces:read`).
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://api.twist.com/api/v3`.
- **Get the key:** [twist.com](https://twist.com/app)

**Twist in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Archive a channel | `POST /channels/archive` | `channelId` |
| Create a channel | `POST /channels/add` | `workspaceId`, `name` |
| Delete a channel | `POST /channels/remove` | `channelId` |
| Get a channel | `GET /channels/getone` | `channelId` |
| Get many channels | `GET /channels/get` | `workspaceId` |
| Unarchive a channel | `POST /channels/unarchive` | `channelId` |
| Update a channel | `POST /channels/update` | `channelId` |
| Create a comment | `POST /attachments/upload` | `threadId`, `content` |
| Delete a comment | `POST /comments/remove` | `commentId` |
| Get a comment | `GET /comments/getone` | `commentId` |
| Get many comments | `GET /comments/get` | `threadId` |
| Update a comment | `POST /attachments/upload` | `commentId` |
| Create a message | `POST /attachments/upload` | `workspaceId`, `conversationId` |
| Delete a message | `POST /conversation_messages/remove` | `id` |
| Get a message | `GET /conversation_messages/getone` | `id` |
| Get many messages | `GET /conversation_messages/get` | `workspaceId`, `conversationId` |
| Update a message | `POST /attachments/upload` | `id` |
| Create a thread | `POST /attachments/upload` | `channelId`, `title`, `content` |
| Delete a thread | `POST /threads/remove` | `threadId` |
| Get a thread | `GET /threads/getone` | `threadId` |
| Get many threads | `GET /threads/get` | `channelId` |
| Update a thread | `POST /attachments/upload` | `threadId` |
