X
X channels post through the UmbHost.Automate.X package and its Create X Post action (x.createPost).
dotnet add package UmbHost.Automate.XWhat X needs
Section titled “What X needs”-
In the X developer console, create an app with OAuth 2.0 enabled as a confidential client (Web App).
-
Add the callback URL
https://<your-site>/umbraco/automate/oauth/callback/twitter. -
Add the app’s credentials to configuration. The sign-in provider is still called Twitter, so that’s the key:
{"Umbraco": {"Automate": {"Providers": {"Twitter": { "ClientId": "...", "ClientSecret": "..." }}}}}The package asks for a refresh token, so the two-hour access tokens renew automatically. Without a
ClientId, the X provider is skipped (and Social doesn’t offer X).
The Automate connection
Section titled “The Automate connection”Automate → Connections → Create → X (Twitter) → Authorize. Validate checks the account.
Then add the channel as described in Connecting networks.
Channel options
Section titled “Channel options”None.
What is sent
Section titled “What is sent”| Post field | Sent as |
|---|---|
| Text | The post text. The link, if any, is added at the end of the text. |
| Image | Optional. A JPEG, PNG, GIF or WebP, up to 5 MB. |
| Image alt text | Sent (up to 1,000 characters). |
| Link title and description | Not sent. |
X allows 280 weighted characters: each link counts as 23, and emoji and characters from scripts such as Chinese, Japanese and Korean count as 2. See Network limits.
When a post fails
Section titled “When a post fails”X has no idempotency key. If the post request fails without a clear answer, the action doesn’t retry, and Social records the post as Unknown: check the account before retrying.