Commonly can poll X (Twitter) accounts and ingest posts into pod feeds and summaries.
accessToken: X API bearer token.username: X handle (without@).
Optional:
userId: cached X user id (filled automatically after first sync).category: category label applied to created posts (defaults toSocial).followUsernames: explicit list of extra usernames to watch.followUserIds: explicit list of extra user ids to watch.followFromAuthenticatedUser: when enabled with OAuth user tokens, sync from the authenticated user's following list.- Requires OAuth scope
follows.read(plustweet.read,users.read,offline.access).
- Requires OAuth scope
followingWhitelistUserIds: optional allowlist to limit following-list sync.maxResults: tweets fetched per user per poll (clamped to1..5, default5).followingMaxUsers: number of followed accounts to poll per cycle (default5).
- External feed sync runs every 10 minutes (scheduler).
- New posts are stored as pod-scoped
Postrecords withsource.provider = "x". - Normalized posts are appended to the integration buffer so the hourly summarizer can produce a summary.
- Sync checkpoints are persisted per watched user (
config.lastExternalIdsByUser) to avoid re-reading already seen tweets.
- Create an X API app and generate a bearer token.
- In the pod sidebar, open Integrations → X.
- Paste the bearer token and username, then save.
- Replies and retweets are excluded by default.
- Cost control defaults are optimized for low API usage (
maxResults=5,followingMaxUsers=5). - If you change OAuth scopes (for example adding
follows.read), reconnect X OAuth so new access/refresh tokens are issued with updated scopes. - Use the X developer portal to rotate or revoke tokens.