iMessage Integration (LoopMessage)#

Connect to Apple iMessage through LoopMessage for messaging within the Apple ecosystem.

Overview#

PropertyValue
Platform TypeIMESSAGE
ProviderLoopMessage
AuthenticationAPI Key
Webhook TypeDedicated

Prerequisites#

  • LoopMessage account (sign up)
  • LoopMessage device configured
  • API key

Setup Guide#

Step 1: Set Up LoopMessage#

  1. Sign up at LoopMessage
  2. Download and configure the LoopMessage app on a Mac
  3. Link your Apple ID
  4. Obtain your API key from the dashboard

Step 2: Create Platform Connection#

mutation {
  createPlatformConnection(
    platformName: IMESSAGE
    name: "iMessage"
    config: {
      api_key: "your-loopmessage-api-key"
    }
  ) {
    id
    webhookUrl
  }
}

Step 3: Configure LoopMessage Webhook#

  1. In LoopMessage dashboard, go to Webhooks
  2. Add your Outeract webhook URL
  3. Enable incoming message notifications

Step 4: Test the Connection#

Send an iMessage to your LoopMessage number and verify it appears in Outeract.

Supported Features#

Message Types#

TypeSendReceiveNotes
TextStandard iMessage
ImagesPNG, JPEG, HEIC
VideosMOV, MP4
AudioVoice messages
FilesDocuments

Capabilities#

  • End-to-end encryption
  • Read receipts
  • Typing indicators
  • Rich media

Sending Messages#

Basic Message#

mutation {
  sendMessage(
    platformConnectionId: "pc_imessage_123"
    toExternalId: "+14155551234"
    message: "Hello from Outeract!"
  ) {
    id
    status {
      success
    }
  }
}

Message with Image#

mutation {
  sendMessage(
    platformConnectionId: "pc_imessage_123"
    toExternalId: "+14155551234"
    message: "Check this out!"
    fileIds: ["file_xyz789"]
  ) {
    id
  }
}

External ID Format#

iMessage uses phone numbers or Apple IDs:

TypeFormatExample
PhoneE.164+14155551234
EmailApple IDuser@icloud.com

Webhook Events#

Inbound Message#

{
  "event_id": "evt_abc123",
  "event_type": "message.inbound",
  "payload": {
    "message": {
      "text": "Hello!",
      "role": "user"
    },
    "platform": "imessage"
  },
  "edges": {
    "sent_by": {
      "external_id": "+14155559999"
    }
  }
}

Limitations#

  • Requires macOS device running LoopMessage
  • Subject to Apple’s iMessage policies
  • Cannot send to non-Apple devices (falls back to SMS if configured)

Troubleshooting#

“Message not delivered”#

  • Verify recipient has iMessage enabled
  • Check LoopMessage device is online
  • Ensure API key is valid

“Device offline”#

  • Check Mac running LoopMessage is powered on
  • Verify internet connection
  • Restart LoopMessage app

“Rate limited”#

  • Apple may temporarily limit high-volume sending
  • Spread messages over time
  • Contact LoopMessage for higher limits

Resources#