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


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

## X (Formerly Twitter)

- **n8n node:** [X (Formerly Twitter)](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.twitter/) (`n8n-nodes-base.twitter`, version 2), 8 actions.
- **n8n performs it:** runs on the n8n credential *X OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/twitter/)).
- **Veefore performs it:** 8 of 8 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://api.x.com/2/oauth2/token` (scope `tweet.read users.read tweet.write tweet.moderate.write users.read follows.read follows.write offline.access like.read like.write dm.write dm.read list.read list.write`).
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://api.twitter.com/1.1`.
- **Get the key:** [developer.x.com](https://developer.x.com/en/portal/dashboard)

**X (Formerly Twitter) in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create Direct Message | `POST /dm_conversations/with/{user}/messages` | `user`, `text` |
| Add Member to List | `POST /lists/{listId}/members` | `list`, `user`, `listId` |
| Create Tweet | `POST /tweets` | `text` |
| Delete Tweet | `DELETE /tweets/{tweetId}` | `tweetDeleteId`, `tweetId` |
| Like Tweet | `GET /users/me` | `tweetId` |
| Retweet Tweet | `GET /users/me` | `tweetId` |
| Search Tweets | `GET /tweets/search/recent` | `searchText` |
| Get User | `GET /users/me` | `user` |

## Xero

- **n8n node:** [Xero](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.xero/) (`n8n-nodes-base.xero`, version 1), 8 actions.
- **n8n performs it:** runs on the n8n credential *Xero OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/xero/)).
- **Veefore performs it:** 8 of 8 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://identity.xero.com/connect/token` (scope `offline_access accounting.invoices accounting.payments accounting.banktransactions accounting.manualjournals accounting.attachments accounting.settings accounting.contacts`).
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://api.xero.com/api.xro/2.0`.
- **Get the key:** [developer.xero.com](https://developer.xero.com/documentation/api/accounting/overview)

**Xero in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a contact | `POST /Contacts` | `organizationId`, `name` |
| Get a contact | `GET /Contacts/{contactId}` | `organizationId`, `contactId` |
| Get many contacts | `GET /Contacts` | `organizationId` |
| Update a contact | `POST /Contacts/{contactId}` | `organizationId`, `contactId` |
| Create an invoice | `POST /Invoices` | `organizationId`, `type`, `contactId` |
| Get an invoice | `GET /Invoices/{invoiceId}` | `organizationId`, `invoiceId` |
| Get many invoices | `GET /Invoices` | `organizationId` |
| Update an invoice | `POST /Invoices/{invoiceId}` | `organizationId`, `invoiceId` |
