π¬ iMessage Number Selection
The iMessage Number Selection system determines which iMessage account and phone number to use when sending outbound messages. This system implements a priority-based selection algorithm to ensure predictable messaging behavior.
Selection Priority Hierarchyβ
The system follows a strict priority order to ensure predictable and logical number selection:
Priority 1: Manual Override (Highest)β
Manual Override Pattern
Use {IM#N} in your message where N is the account index to force a specific iMessage account.
- When Used: When a message contains a manual override pattern.
- Example: "This message will go via 2nd account
{IM#2}" - Behavior:
- Extracts account index from message pattern.
- Validates account exists and is connected.
- Removes pattern from message before sending.
Priority 2: Temporary Number Switchingβ
Temporary Override Pattern
Use {TEMP-IM#N} in your message where N is the account index to temporarily switch the sending number for that single message only.
- When Used: When you want to send one message from a different number without permanently changing the contact's assigned account.
- Example: "Quick update from our support line
{TEMP-IM#3}" - Behavior:
- Temporarily routes the message through the specified account.
- Does not change the contact's default account assignment.
- Removes pattern from message before sending.
- Future messages to this contact will continue using their normal account.
Priority 3: Contact Tagsβ
Contact Tagging
Tag contacts with im: +1234567890 to always use a specific iMessage account for that contact.
- When Used: When a contact has an iMessage number tag.
- Example: Contact tagged with
im: +15551234567 - Behavior:
- Searches contact tags for iMessage number pattern.
- Finds account with matching phone number.
Priority 4: Contact Assigned Toβ
User Assignment When a contact is assigned to a user in your CRM, the system will try to use that user's iMessage account.
- When Used: When a contact is assigned to a specific user who has an iMessage account assigned to them.
- Behavior:
- Looks up contact's assigned user.
- Finds iMessage account assigned to that user.
Priority 5: Default Accountβ
Best Practice Always set one account as "default" for each location to ensure reliable fallback behavior.
- When Used: When no specific assignment is found.
- Behavior:
- Uses the account marked as "default" for the location.
- Only considers connected accounts.
Priority 6: Any Available Account (Lowest)β
- When Used: As a final fallback.
- Behavior:
- Selects any connected iMessage account.
Delivery Failureβ
If no iMessage accounts are available at this point, the message will fail to send.