Outlook

Read email thread

Get all emails in a thread from the synced Gmail or Outlook inbox.

Freeno per-call chargeRuns in your Outlook account

Endpoint

Parameters

NameTypeRequiredNote
limitnumber · optionalnumberoptional

Max emails to return, oldest first (default 100).

Default: 100

threadIdstring · optionalstringoptional

Provider thread id (from the trigger context, get-emails-by-address results, or send-email threadId).

messageIdstring · optionalstringoptional

The id of one email in the thread, when you have no thread or conversation id: send-email provider_id or messageId, or an email messageId from this tool. Resolves only after the inbox has synced that email.

conversationIdstring · optionalstringoptional

Our internal conversation UUID, if you have it instead of a provider thread id.

Response schema

{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "threadId",
    "conversationId",
    "messageCount",
    "emails"
  ],
  "properties": {
    "note": {
      "type": "string",
      "description": "Why nothing was returned for a messageId that has not resolved."
    },
    "emails": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "datetime",
          "from",
          "to",
          "subject",
          "content",
          "threadId",
          "messageId",
          "isFromMe",
          "direction",
          "sent_via",
          "sent_by_workflow_id",
          "sent_by_workflow_name"
        ],
        "properties": {
          "to": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "from": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "subject": {
            "type": [
              "string",
              "null"
            ]
          },
          "datetime": {
            "type": "string"
          },
          "isFromMe": {
            "type": "boolean"
          },
          "sent_via": {
            "enum": [
              "workflow",
              "manual",
              "external",
              "unknown"
            ],
            "type": "string"
          },
          "threadId": {
            "type": [
              "string",
              "null"
            ]
          },
          "direction": {
            "enum": [
              "sent",
              "received"
            ],
            "type": "string"
          },
          "messageId": {
            "type": [
              "string",
              "null"
            ]
          },
          "sent_by_workflow_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "sent_by_workflow_name": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "additionalProperties": false
      }
    },
    "threadId": {
      "type": [
        "string",
        "null"
      ]
    },
    "messageCount": {
      "type": "number"
    },
    "conversationId": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "additionalProperties": false
}

Get started

How to use this action

  1. Connect your AI

    Add Connie to ChatGPT, Claude or Slack once, then connect your account for this app. There’s no API key to manage.

  2. Ask for the outcome

    Describe what you need in plain words. Your AI runs this app’s actions when the job calls for them, along with any other tools it needs.

  3. Make it a workflow

    Add an action as a step in a workflow that runs the same way every time, on a schedule or when something happens.

  4. Stay in control

    Choose whether each action runs on its own or asks first. When it asks, you see an Allow or Deny card before anything changes in the app.