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


Apps starting with D. 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.

## Databricks

- **n8n node:** [Databricks](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.databricks/) (`n8n-nodes-base.databricks`, version 1), 40 actions.
- **n8n performs it:** runs on the n8n credential *Databricks* ([how to set it up](https://docs.databricks.com/dev-tools/api/latest/authentication.html)).
- **Veefore performs it:** 39 of 40 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://{host}`.
- **Get the key:** [accounts.cloud.databricks.com](https://accounts.cloud.databricks.com/)

**Databricks in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Execute a SQL query | `POST /api/2.0/sql/statements` | `warehouseId`, `query`, `host` |
| Create a directory | `PUT /api/2.0/fs/directories/Volumes/{catalog}/{schema}/{volume}/{directoryPath}` | `volumePath`, `directoryPath`, `host`, `catalog`, `schema`, `volume` |
| Delete a directory | `DELETE /api/2.0/fs/directories/Volumes/{catalog}/{schema}/{volume}/{directoryPath}` | `volumePath`, `directoryPath`, `host`, `catalog`, `schema`, `volume` |
| Delete a file | `DELETE /api/2.0/fs/files/Volumes/{catalog}/{schema}/{volume}/{filePath}` | `volumePath`, `filePath`, `host`, `catalog`, `schema`, `volume` |
| Download a file | `GET /api/2.0/fs/files/Volumes/{catalog}/{schema}/{volume}/{filePath}` | `volumePath`, `filePath`, `host`, `catalog`, `schema`, `volume` |
| Get file info | n8n performs it | `volumePath`, `filePath` |
| List a directory | `GET /api/2.0/fs/directories/Volumes/{catalog}/{schema}/{volume}/{directoryPath}` | `volumePath`, `host`, `catalog`, `schema`, `volume`, `directoryPath` |
| Upload a file | `PUT /api/2.0/fs/files/Volumes/{catalog}/{schema}/{volume}/{filePath}` | `volumePath`, `filePath`, `dataFieldName`, `host`, `catalog`, `schema` and 1 more |
| Create a conversation message | `POST /api/2.0/genie/spaces/{spaceId}/conversations/{conversationId}/messages` | `spaceId`, `conversationId`, `message`, `host` |
| Execute a message SQL query | `POST /api/2.0/genie/spaces/{spaceId}/conversations/{conversationId}/messages/{messageId}/attachments/{attachmentId}/execute-query` | `spaceId`, `conversationId`, `messageId`, `attachmentId`, `host` |
| Get a conversation message | `GET /api/2.0/genie/spaces/{spaceId}/conversations/{conversationId}/messages/{messageId}` | `spaceId`, `conversationId`, `messageId`, `host` |
| Get a Genie space | `GET /api/2.0/genie/spaces/{spaceId}` | `spaceId`, `host` |
| Get query results | `GET /api/2.0/genie/spaces/{spaceId}/conversations/{conversationId}/messages/{messageId}/attachments/{attachmentId}/query-result` | `spaceId`, `conversationId`, `messageId`, `attachmentId`, `host` |
| Start a conversation | `POST /api/2.0/genie/spaces/{spaceId}/start-conversation` | `spaceId`, `initialMessage`, `host` |
| Get a job | `GET /api/2.2/jobs/get?job_id={jobId}` | `jobId`, `host` |
| Get run | `GET /api/2.2/jobs/runs/get` | `runId`, `host` |
| Get run output | `GET /api/2.2/jobs/runs/get-output` | `runId`, `host` |
| Run a job | `POST /api/2.2/jobs/run-now` | `jobId`, `host` |
| Query a serving endpoint | `GET /api/2.0/serving-endpoints/{endpointName}/openapi` | `endpointName`, `requestBody`, `host` |
| Create a catalog | `POST /api/2.1/unity-catalog/catalogs` | `catalogName`, `host` |
| Create a function | `POST /api/2.1/unity-catalog/functions` | `catalogName`, `schemaName`, `functionName`, `inputParams`, `returnType`, `routineBody` and 2 more |
| Create a table | `POST /api/2.1/unity-catalog/tables` | `catalogName`, `schemaName`, `tableName`, `storageLocation`, `host` |
| Create a volume | `POST /api/2.1/unity-catalog/volumes` | `catalogName`, `schemaName`, `volumeName`, `volumeType`, `host` |
| Delete a catalog | `DELETE /api/2.1/unity-catalog/catalogs/{catalogName}` | `catalogName`, `host` |
| Delete a function | `DELETE /api/2.1/unity-catalog/functions/{fullName}` | `catalogName`, `schemaName`, `fullName`, `host` |
| Delete a table | `DELETE /api/2.1/unity-catalog/tables/{fullName}` | `catalogName`, `schemaName`, `fullName`, `host` |
| Delete a volume | `DELETE /api/2.1/unity-catalog/volumes/{fullName}` | `catalogName`, `schemaName`, `volumeName`, `host`, `fullName` |
| Get a catalog | `GET /api/2.1/unity-catalog/catalogs/{catalogName}` | `catalogName`, `host` |
| Get a function | `GET /api/2.1/unity-catalog/functions/{fullName}` | `catalogName`, `schemaName`, `fullName`, `host` |
| Get a table | `GET /api/2.1/unity-catalog/tables/{fullName}` | `catalogName`, `schemaName`, `fullName`, `host` |
| Get a volume | `GET /api/2.1/unity-catalog/volumes/{fullName}` | `catalogName`, `schemaName`, `volumeName`, `host`, `fullName` |
| List catalogs | `GET /api/2.1/unity-catalog/catalogs` | `host` |
| List functions | `GET /api/2.1/unity-catalog/functions` | `host` |
| List tables | `GET /api/2.1/unity-catalog/tables` | `host` |
| List volumes | `GET /api/2.1/unity-catalog/volumes` | `host` |
| Update a catalog | `PATCH /api/2.1/unity-catalog/catalogs/{catalogName}` | `catalogName`, `host` |
| Create a vector search index | `POST /api/2.0/vector-search/indexes` | `indexName`, `endpointName`, `primaryKey`, `indexType`, `deltaSyncIndexSpec`, `host` |
| Get a vector search index | `GET /api/2.0/vector-search/indexes/{indexName}` | `indexName`, `host` |
| List vector search indexes | `GET /api/2.0/vector-search/indexes` | `endpointName`, `host` |
| Query a vector search index | `POST /api/2.0/vector-search/indexes/{indexName}/query` | `indexName`, `queryType`, `queryText`, `columns`, `host` |

## DeepL

- **n8n node:** [DeepL](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/) (`n8n-nodes-base.deepL`, version 1), 1 action.
- **n8n performs it:** runs on the n8n credential *DeepL API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/deepl/)).
- **Veefore performs it:** 1 of 1 action, with the key in a header, as `Authorization: DeepL-Auth-Key <key>`.
- **You enter:** API key.
- **API address:** `https://api.deepl.com/v2`.
- **Get the key:** [deepl.com](https://www.deepl.com/your-account/keys)

**DeepL in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Translate a language | `GET /translate` | `text`, `translateTo` |

## Demio

- **n8n node:** [Demio](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.demio/) (`n8n-nodes-base.demio`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *Demio API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/demio/)).
- **Veefore performs it:** 4 of 4 actions, with the key in a header, as `Api-Key: <key>`.
- **You enter:** API key, API secret.
- **Also sent:** API secret in the `Api-Secret` header.
- **API address:** `https://my.demio.com/api/v1`.
- **Get the key:** [my.demio.com](https://my.demio.com/manage/api-details)

**Demio in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get an event | `GET /event/{eventId}/date/{date_id}` | `eventId`, `date_id` |
| Get many events | `GET /events` | — |
| Register an event | `PUT /event/register` | `firstName`, `email` |
| Get a report | `GET /report/{dateId}/participants` | `dateId` |

## DHL

- **n8n node:** [DHL](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.dhl/) (`n8n-nodes-base.dhl`, version 1), 1 action.
- **n8n performs it:** runs on the n8n credential *DHL API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/dhl/)).
- **Veefore performs it:** 1 of 1 action, with the key in a header, as `DHL-API-Key: <key>`.
- **You enter:** API key.
- **API address:** `https://api-eu.dhl.com`.
- **Get the key:** [developer.dhl.com](https://developer.dhl.com/user/apps)

**DHL in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get tracking details for a shipment | `GET /track/shipments` | `trackingNumber` |

## Discord

- **n8n node:** [Discord](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.discord/) (`n8n-nodes-base.discord`, version 2), 18 actions.
- **n8n performs it:** runs on the n8n credential *Discord Bot API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/discord/)).
- **Veefore performs it:** 18 of 18 actions, with the key in a header, as `Authorization: Bot <key>`.
- **You enter:** API key.
- **API address:** `https://discord.com/api/v10`.
- **Get the key:** [discord.com](https://discord.com/developers/applications)

**Discord in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a channel | `POST /guilds/{guildId}/channels` | `guildId`, `name`, `type` |
| Delete a channel | `DELETE /channels/{channelId}` | `guildId`, `channelId` |
| Get a channel | `GET /channels/{channelId}` | `guildId`, `channelId` |
| Get many channels | `GET /guilds/{guildId}/channels` | `guildId` |
| Update a channel | `PATCH /channels/{channelId}` | `guildId`, `channelId` |
| Delete a message | `DELETE /channels/{channelId}/messages/{messageId}` | `guildId`, `channelId`, `messageId` |
| Get a message | `GET /channels/{channelId}/messages/{messageId}` | `guildId`, `channelId`, `messageId` |
| Get many messages | `GET /channels/{channelId}/messages` | `guildId`, `channelId` |
| React with an emoji to a message | `PUT /channels/{channelId}/messages/{messageId}/reactions/{emoji}/@me` | `guildId`, `channelId`, `messageId`, `emoji` |
| Send a message | `GET /guilds/{guildId}/members/{userId}` | `guildId`, `channelId`, `userId` |
| Send message and wait for response | `GET /guilds/{guildId}/members/{userId}` | `guildId`, `channelId`, `message`, `userId` |
| Ban a member | `PUT /guilds/{guildId}/bans/{userId}` | `guildId`, `userId` |
| Get many members | `GET /guilds/{guildId}/members` | `guildId` |
| Kick a member | `DELETE /guilds/{guildId}/members/{userId}` | `guildId`, `userId` |
| Add a role to a member | `PUT /guilds/{guildId}/members/{userId}/roles/{roleId}` | `guildId`, `role`, `userId`, `roleId` |
| Remove a role from a member | `DELETE /guilds/{guildId}/members/{userId}/roles/{roleId}` | `guildId`, `role`, `userId`, `roleId` |
| Timeout a member | `PATCH /guilds/{guildId}/members/{userId}` | `guildId`, `userId` |
| Unban a member | `DELETE /guilds/{guildId}/bans/{userId}` | `guildId`, `userId` |

**Discord API (OpenAPI)**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Send a message to a channel | `POST https://discord.com/api/v10/channels/{channel_id}/messages` | `channel_id`, `content` or `embeds` or `sticker_ids` or `components` or `poll` |

Use your bot token; the bot must be in the server and see the channel.

## Discourse

- **n8n node:** [Discourse](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.discourse/) (`n8n-nodes-base.discourse`, version 1), 16 actions.
- **n8n performs it:** runs on the n8n credential *Discourse API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/discourse/)).
- **Veefore performs it:** 16 of 16 actions, with the key in a header, as `Api-Key: <key>`.
- **You enter:** API key, Username.
- **Also sent:** Username in the `Api-Username` header.
- **API address:** `https://{url}`.
- **Get the key:** [meta.discourse.org](https://meta.discourse.org/t/create-and-configure-an-api-key/230124)

**Discourse in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a category | `POST /categories.json` | `name`, `color`, `textColor`, `url` |
| Get many categories | `GET /categories.json` | `url` |
| Update a category | `PUT /categories/{categoryId}.json` | `categoryId`, `name`, `url` |
| Create a group | `POST /admin/groups.json` | `name`, `url` |
| Get a group | `GET /groups/{name}` | `name`, `url` |
| Get many groups | `GET /groups.json` | `url` |
| Update a group | `PUT /groups/{groupId}.json` | `groupId`, `name`, `url` |
| Create a post | `POST /posts.json` | `content`, `url` |
| Get a post | `GET /posts/{postId}` | `postId`, `url` |
| Get many posts | `GET /posts.json` | `url` |
| Update a post | `PUT /posts/{postId}.json` | `postId`, `content`, `url` |
| Create a user | `POST /users.json` | `name`, `email`, `username`, `password`, `url` |
| Get a user | `GET /u/by-external/{externalId}.json` | `by`, `username`, `url`, `externalId` |
| Get many users | `GET /admin/users/list/{flag}.json` | `url`, `flag` |
| Add a user to a group | `PUT /groups/{groupId}/members.json` | `usernames`, `groupId`, `url` |
| Remove a user from a group | `DELETE /groups/{groupId}/members.json` | `usernames`, `groupId`, `url` |

## Disqus

- **n8n node:** [Disqus](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.disqus/) (`n8n-nodes-base.disqus`, version 1), 4 actions.
- **n8n performs it:** runs on the n8n credential *Disqus API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/disqus/)).
- **Veefore performs it:** 4 of 4 actions, with the key in the query string, as `?api_key=<key>`.
- **You enter:** API key.
- **API address:** `https://disqus.com/api/3.0`.
- **Get the key:** [disqus.com](https://disqus.com/api/applications/)

**Disqus in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get a forum | `GET /forums/details.json` | `id` |
| Get all categories in a forum | `GET /forums/listCategories.json` | `id` |
| Get all threads in a forum | `GET /forums/listThreads.json` | `id` |
| Get all posts in a forum | `GET /forums/listPosts.json` | `id` |

## Drift

- **n8n node:** [Drift](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.drift/) (`n8n-nodes-base.drift`, version 1), 5 actions.
- **n8n performs it:** runs on the n8n credential *Drift API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/drift/)).
- **Veefore performs it:** 5 of 5 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Access token.
- **API address:** `https://driftapi.com`.
- **Get the key:** [dev.drift.com](https://dev.drift.com/apps)

**Drift in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a contact | `POST /contacts` | `email` |
| Get custom attributes for a contact | `GET /contacts/attributes` | — |
| Delete a contact | `DELETE /contacts/{contactId}` | `contactId` |
| Get a contact | `GET /contacts/{contactId}` | `contactId` |
| Update a contact | `PATCH /contacts/{contactId}` | `contactId` |

## Dropbox

- **n8n node:** [Dropbox](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.dropbox/) (`n8n-nodes-base.dropbox`, version 1), 11 actions.
- **n8n performs it:** runs on the n8n credential *Dropbox API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/dropbox/)).
- **Veefore performs it:** 11 of 11 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://api.dropboxapi.com/2`.
- **Get the key:** [dropbox.com](https://www.dropbox.com/developers/apps)

**Dropbox in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Copy a file | `POST /files/copy_v2` | `path`, `toPath` |
| Delete a file | `POST /files/delete_v2` | `path` |
| Download a file | `POST https://content.dropboxapi.com/2/files/download` | `path`, `binaryPropertyName` |
| Move a file | `POST /files/move_v2` | `path`, `toPath` |
| Upload a file | `POST https://content.dropboxapi.com/2/files/upload` | `path` |
| Copy a folder | `POST /files/copy_v2` | `path`, `toPath` |
| Create a folder | `POST /files/create_folder_v2` | `path` |
| Delete a folder | `POST /files/delete_v2` | `path` |
| List a folder | `POST /files/list_folder` | — |
| Move a folder | `POST /files/move_v2` | `path`, `toPath` |
| Query | `POST /files/search_v2` | `query` |

## Dropcontact

- **n8n node:** [Dropcontact](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.dropcontact/) (`n8n-nodes-base.dropcontact`, version 1), 2 actions.
- **n8n performs it:** runs on the n8n credential *Dropcontact API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/dropcontact/)).
- **Veefore performs it:** 2 of 2 actions, with the key in a header, as `X-Access-Token: <key>`.
- **You enter:** API key.
- **API address:** `https://api.dropcontact.io`.
- **Get the key:** [support.dropcontact.com](https://support.dropcontact.com/article/237-how-to-use-the-dropcontact-api-key)

**Dropcontact in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Find B2B emails | `POST /batch` | — |
| Fetch Request contact | `GET /batch/{requestId}` | `requestId` |
