iMessage Integration (LoopMessage)#
Connect to Apple iMessage through LoopMessage for messaging within the Apple ecosystem.
Overview#
| Property | Value |
|---|---|
| Platform Type | IMESSAGE |
| Provider | LoopMessage |
| Authentication | API Key |
| Webhook Type | Dedicated |
Prerequisites#
- LoopMessage account (sign up)
- LoopMessage device configured
- API key
Setup Guide#
Step 1: Set Up LoopMessage#
- Sign up at LoopMessage
- Download and configure the LoopMessage app on a Mac
- Link your Apple ID
- 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#
- In LoopMessage dashboard, go to Webhooks
- Add your Outeract webhook URL
- 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#
| Type | Send | Receive | Notes |
|---|---|---|---|
| Text | ✓ | ✓ | Standard iMessage |
| Images | ✓ | ✓ | PNG, JPEG, HEIC |
| Videos | ✓ | ✓ | MOV, MP4 |
| Audio | ✓ | ✓ | Voice messages |
| Files | ✓ | ✓ | Documents |
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:
| Type | Format | Example |
|---|---|---|
| Phone | E.164 | +14155551234 |
| Apple ID | user@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