Read your X direct messages
list_x_dmsRead X (Twitter) direct messages, grouping them into conversations newest first to see who is waiting on a reply. Check new DMs, review message content, and identify responses needed, with billing per message returned.
Instructions
Read the direct messages sent to the connected X account and group them into conversations, newest first — who is waiting on a reply, in their own words. Use it for 'any new DMs on X', 'what did they say', 'anything I need to answer'. Reply with send_x_dm. COSTS CREDITS PER MESSAGE RETURNED plus one account lookup, so keep maxResults small (default 10) and tell the user the cost before pulling a big page. X KEEPS 30 DAYS of direct-message history and offers no date filter, so a short list can mean an old conversation rather than a quiet inbox — say so rather than reporting silence. There is no conversation-list endpoint at X: this builds the thread list by reading events and grouping them, so a conversation whose last message is older than the page you pulled will not appear. Needs X connected, AND an X account connected before direct messages shipped must be reconnected once (Settings ▸ Connectors ▸ X) — X only grants permissions at authorize time.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| eventTypes | No | MessageCreate (default), ParticipantsJoin, ParticipantsLeave. The join/leave events carry no message and are billed like any other, so the default is messages only. | |
| maxResults | No | how many messages to pull, 1-100 (default 10) — EVERY ONE IS BILLED, and omitting it would make X return 100 | |
| participantId | No | read just the conversation with this NUMERIC X account id (not an @handle) | |
| conversationId | No | read just this conversation (from a previous call). One-to-one ids look like "12-345"; group ids are one long number. | |
| paginationToken | No | nextToken from a previous call, to page further back. There is no since/until filter at X — this is the only way to walk history. |