Install
openclaw skills install teamapp-adminUse when interacting with TeamApp club admin JSON endpoints on teamapp.com to create/read/update News articles and Schedule events, and to resolve Team and Access Group IDs needed for visibility, roster, and targeting fields.
openclaw skills install teamapp-adminUse this skill for TeamApp admin operations against JSON endpoints discovered from the web app.
club_id, team_id, and access_level_id values from list endpoints.new.json or edit.json endpoint for the target resource.onSubmit controller and URL as source of truth for method and endpoint....access_level_ids_csv only when visibility is access_groups.MANDATORY: All interactions with the TeamApp API via this skill must use the provided wrapper script bin/api-wrapper.sh.
This wrapper automatically handles:
ta_auth_token and _teamapp_session).The wrapper requires the following variables to be set in your shell environment:
TA_AUTH_TOKEN: The ta_auth_token cookie value (extracted from a browser session).Call the wrapper with the HTTP method, the full URL, and any curl options (like data payloads).
# General Syntax
./bin/api-wrapper.sh [METHOD] [URL] [CURL_OPTIONS...]
Example: Read Articles
./bin/api-wrapper.sh GET "https://examplesite.teamapp.com/clubs/$TA_CLUB_ID/articles.json?_detail=v1"
Example: Create Article
./bin/api-wrapper.sh POST "https://examplesite.teamapp.com/clubs/$TA_CLUB_ID/articles.json?_post_response=v1" \
--data-urlencode "article[subject]=My Title" \
--data-urlencode "article[body]=My Body" \
--data-urlencode "article[visibility]=public" \
--data-urlencode "article[comments_enabled]=1" \
--data-urlencode "article[feature]=0" \
--data-urlencode "article[html_body]=0" \
--data-urlencode "article[release_pending]=0" \
--data-urlencode "send_notifications=0"
All News and Events support scheduling and configurable notification delivery.
...[release_pending]: Set to 0 for immediate release, or 1 to schedule for later....[release_at]: When release_pending is 1, provide an ISO 8601 timestamp (e.g., 2026-03-25 10:00).The send_notifications parameter controls how users are alerted:
0: None (Silent release)1: Push OR Email (Default: sends push if enabled on device, falls back to email if notifications are disabled)2: Push AND Email (Sends both regardless of app notification status)Events include an additional event[reminder] field for automated alerts:
-1: None0: At starting time1800: 30 minutes before3600: 1 hour before86400: 1 day before (and other standard intervals in seconds)-2: Custom (requires event[reminder_datetime])Required baseline fields for create:
article[subject]article[body]article[visibility] (public|approved_members|access_groups)article[comments_enabled] (0|1)article[feature] (0|1)article[html_body] (0|1)article[release_pending] (0|1)send_notifications (0|1|2)Key fields:
event[team_id], event[title]event[datetime], event[datetime_end] or all-day fieldsevent[details] / html variant fieldsevent[visibility], event[access_level_ids_csv]event[release_pending], event[release_at]send_notifications, event[reminder], event[reminder_datetime]Use list endpoints to resolve IDs before posting news/events:
Use team/access-group IDs in:
event[team_id]article[access_level_ids_csv]event[access_level_ids_csv]team[access_level_ids_csv]roster_access_level_id