Connect OpenClaw to any GroupMe group for automated messaging, announcements, and team communication workflows.
Base URL: https://api.groupme.com/v3
Authentication: Token passed as query parameter ?token=ACCESS_TOKEN
Key Endpoints:
EndpointPurposePOST /bots/postSend a messageGET /groupsList your groupsGET /groups/:id/messagesGet group messages
Before using this skill, you need:
Create a file at ~/.openclaw/secrets/groupme.env:
bash
GROUPME_ACCESS_TOKEN="your_access_token_here"
GROUPME_BOT_ID="your_bot_id_here"
GROUPME_GROUP_ID="your_group_id_here" # Optional — only needed to discover group IDs, not required for sending
Never commit this file to git.
Run this command (replace with your token):
bash
curl -s "https://api.groupme.com/v3/groups?token=YOUR_TOKEN&per_page=10"
Look for your group in the response — the id field is your Group ID.
bash
curl -X POST \
-H "Content-Type: application/json" \
-d '{"bot_id": "YOUR_BOT_ID", "text": "Your message here"}' \
"https://api.groupme.com/v3/bots/post?token=YOUR_ACCESS_TOKEN"
bash
curl -X POST \
-H "Content-Type: application/json" \
-d '{"bot_id": "YOUR_BOT_ID", "text": "Line one\nLine two\nLine three"}' \
"https://api.groupme.com/v3/bots/post?token=YOUR_ACCESS_TOKEN"
Tell OpenClaw to send a message:
"Send a message to the group: Don't forget, team meeting at 3pm today"
"Post this to the group: Great job everyone on a successful week!"
Daily shift reminder (Mon-Fri at 8am):
json
{
"schedule": {
"kind": "cron",
"expr": "0 8 * * 1-5",
"tz": "America/New_York"
},
"payload": {
"kind": "systemEvent",
"text": "Send daily shift reminder to GroupMe"
},
"sessionTarget": "isolated"
}
Weekly team announcement (Monday at 9am):
json
{
"schedule": {
"kind": "cron",
"expr": "0 9 * * 1",
"tz": "America/New_York"
},
"payload": {
"kind": "systemEvent",
"text": "Send weekly team announcement to GroupMe"
},
"sessionTarget": "isolated"
}
WorkflowDescriptionShift RemindersFire 1hr before each shiftTeam AnnouncementsWeekly goals, meeting changesEmergency AlertsOne-command urgent broadcastRecognition PostsKudos for good workCoverage Requests"Need someone to cover 3-5pm"Daily BriefsIndustry news, daily statsPolling"Thumbs up if you can work Saturday"
json
{
"bot_id": "BOT_ID",
"text": "Your message here"
}
Images must first be uploaded to GroupMe's image service. See https://dev.groupme.com/docs/image_service
json
{
"bot_id": "BOT_ID",
"text": "Check out the new schedule!",
"attachments": [{
"type": "image",
"url": "https://i.groupme.com/xxxxx.large"
}]
}
json
{
"bot_id": "BOT_ID",
"text": "Heading to the location",
"attachments": [{
"type": "location",
"lat": "40.738206",
"lng": "-73.993285",
"name": "Location Name"
}]
}
text
~/.openclaw/skills/groupme/
├── SKILL.md ← this file
├── scripts/
│ └── send-message.sh ← optional shell helper
~/.openclaw/secrets/groupme.env~/.openclaw/secrets/groupme.env