Claude-skill-registry list-messages

Retrieve and display message history from Sinch Conversation API. Use when the user asks to show messages, view conversation history, list recent messages, see messages with a contact, check message history, or view last N messages. Supports filtering by contact, conversation, channel, and time range.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/list-messages" ~/.claude/skills/majiayu000-claude-skill-registry-list-messages && rm -rf "$T"
manifest: skills/data/list-messages/SKILL.md
source content

List Messages

Retrieve message history from Sinch Conversation API using the Conversation API specification. Note: MCP tools do not provide a list messages tool, so this skill always uses the Conversation API endpoint. Supports filtering by contact, conversation, channel, and time range.

Instructions

  1. Extract query parameters from user request:

    • Contact: contact ID, phone number, or contact name
    • Conversation: conversation ID (if specified)
    • Channel: WhatsApp, SMS, or other channel filter
    • Count: number of messages to retrieve (default: 10, max: 1000)
    • Time range: start_time and end_time if specified
  2. Use Conversation API endpoint to list messages:

    • Note: MCP Sinch does not provide a list messages tool, so this skill always uses the Conversation API endpoint
    • Endpoint:
      GET /v1/projects/{project_id}/messages
    • Operation ID:
      Messages_ListMessages
    • Authentication: Use Basic Auth or OAuth2 with credentials from environment variables (CONVERSATION_PROJECT_ID, CONVERSATION_KEY_ID, CONVERSATION_KEY_SECRET)
    • Region: Use CONVERSATION_REGION environment variable (us, eu, or br)
    • Base URL:
      https://{region}.conversation.api.sinch.com
    • Apply filters based on extracted parameters as query parameters
    • Messages are returned in descending order by accept_time (most recent first)
  3. Response formatting:

    • Display messages in chronological order (oldest to newest for readability)
    • Include: message ID, timestamp, sender/recipient, channel, message content
    • Show conversation context if available
    • Indicate if there are more messages (pagination using page_token)

Examples

Natural language prompts that trigger this Skill:

  • "Show me the last 5 messages with Alice"
  • "What messages did I receive from John?"
  • "List recent WhatsApp messages"
  • "Show conversation history with contact ID abc123"
  • "Display messages from the last hour"
  • "What are the last 10 messages?"

Conversation API Usage (Required - no MCP alternative):

  1. Note: MCP Sinch does not provide a list messages tool, so this skill always uses the Conversation API
  2. Use the Conversation API endpoint:
    GET /v1/projects/{project_id}/messages
  3. Authentication: Use Basic Auth with CONVERSATION_KEY_ID and CONVERSATION_KEY_SECRET, or OAuth2
  4. Include required headers:
    Authorization
    ,
    Content-Type: application/json
  5. Use query parameters for filtering:
    contact_id
    ,
    conversation_id
    ,
    channel
    ,
    start_time
    ,
    end_time
    ,
    page_size
    ,
    page_token
    ,
    app_id
    ,
    channel_identity
    ,
    messages_source
    ,
    only_recipient_originated
    ,
    view

Filtering Options

  • By contact: Filter messages for a specific contact
  • By conversation: Filter messages in a specific conversation
  • By channel: Filter messages by channel (WHATSAPP, SMS, etc.)
  • By time range: Filter messages between start_time and end_time
  • By app: Filter messages for a specific app ID
  • Pagination: Use page_size (default 10, max 1000) and page_token for pagination

Message View Options

  • FULL: Complete message details (default)
  • BASIC: Basic message information

Notes

  • MCP Note: MCP Sinch does not provide a list messages tool, so this skill always uses the Conversation API endpoint
  • Messages are ordered by accept_time in descending order (most recent first)
  • Use the Conversation API endpoint directly - reference the OpenAPI spec for exact parameter names and types
  • If no messages found, inform the user clearly
  • Support pagination for large message lists using
    page_token
    from response
  • The
    messages_source
    parameter determines processing mode:
    CONVERSATION_SOURCE
    for CONVERSATION mode,
    DISPATCH_SOURCE
    for DISPATCH mode
  • Some query parameters may not be supported depending on the
    messages_source
    value - check the API spec for details