Browse the docs

Send message

Sends an iMessage or text message through the Messages app.

Send text to to

Keyboard Maestro: SendSMS, Send iMessage

Details #

Sends text to one person through the Messages app. to is a phone number or an Apple ID email address, exactly as Messages would take it.

service chooses how it goes. The default is iMessage. Any value that reads as sms (in any case) sends a text message instead; every other value means iMessage.

The step has no output. The Trace note says sent a message to <to> for iMessage or sent a text to <to> for SMS.

Parameters #

ParameterTypeRequiredValuesWhat it does
totextYesRequired. One phone number or Apple ID email address. One recipient per step; use Repeat for several.
bodytextAnother spelling of text. If both are given, text wins.
servicetextiMessage (the default) or SMS. Anything that is not sms is treated as iMessage.
texttextRequired unless body is given. The message. Supports {{ }} values.

Every step also accepts label, onFailure, timeout and dryRunSafe.

Examples #

Send yourself an iMessage (dry run only simulates it)
Do
  1. Send a message to “+15555550123”
  2. Show “Message sent”
Open in Switchboard to try it

Gotchas #

  • Fails with message.send needs a recipient (a phone number or an Apple ID email) or message.send needs text to send when either is empty.

  • SMS only works if your iPhone forwards text messages to this Mac. Without it, Messages cannot find an SMS service and the step fails.

  • A pass means Messages accepted the message. It does not wait for delivery.

  • The first run asks for permission to control Messages (System Settings > Privacy & Security > Automation).

  • The message is really sent when the macro runs. A dry run only simulates the step.

See also #

Send mail, Show notification