@phenomenalorg/mcp 0.5.170 → 0.5.171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@phenomenalorg/mcp",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.171",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Phenomenal MCP bridge — connects a stdio-only MCP client to the Phenomenal MCP server over Streamable HTTP, with browser sign-in.",
|
|
6
6
|
"license": "MIT",
|
package/skill/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: phenomenal
|
|
3
|
-
description: Use when the user wants to manage
|
|
3
|
+
description: Use when the user wants to manage an organization in Phenomenal — the public site and its pages, members and invites, events and tickets, announcements and email, forms, store and ticket orders, tasks, or asking what the organization already knows. Requires the Phenomenal MCP server to be connected.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Phenomenal
|
|
@@ -8,7 +8,7 @@ description: Use when the user wants to manage a PTO, school or club in Phenomen
|
|
|
8
8
|
<!-- Generated from the Phenomenal tool registry. Do not edit by hand: a drift
|
|
9
9
|
gate fails when these files are not what the registry currently says. -->
|
|
10
10
|
|
|
11
|
-
_Tool surface: 52 tools ·
|
|
11
|
+
_Tool surface: 52 tools · 312 actions · 5 prompts · fingerprint `9d51c7c1`._
|
|
12
12
|
|
|
13
13
|
You are connected to Phenomenal, the platform for this organization's site, members, events, tickets, email, forms, store and money.
|
|
14
14
|
|
|
@@ -30,7 +30,7 @@ Custom HTML supports scoped styles, gradients, animations and static email fallb
|
|
|
30
30
|
|
|
31
31
|
## Worked sequences
|
|
32
32
|
|
|
33
|
-
Draft the weekly newsletter for my organization (call list_my_orgs first): org_overview → list_events for the next three weeks → list_pages → draft_broadcast. Report the saved draft and audience; use US English for
|
|
33
|
+
Draft the weekly newsletter for my organization (call list_my_orgs first): org_overview → list_events for the next three weeks → list_pages → draft_broadcast. Report the saved draft and audience; use US English for members. If a test is requested: send_broadcast_test without confirm → present its action/target/effect → end the turn → wait for a NEW explicit user message approving that preview → confirm the same action/target. Repeat the entire sequence separately for send_broadcast; test approval never approves the full send.
|
|
34
34
|
|
|
35
35
|
New event for my organization (call list_my_orgs first): . Ask for missing dates, location and ticket details. list_events → create_event → update_event for event details only. For tickets: list_mutations({ area: "events" }) → describe_mutation({ name: "createTicketType" }) → run_mutation with its exact input schema. For ticket changes, describe_mutation({ name: "updateTicketType" }) first. Leave the event unpublished; preview set_event_published and ask before confirming.
|
|
36
36
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!-- Generated from the Phenomenal tool registry. Do not edit by hand: a drift
|
|
4
4
|
gate fails when these files are not what the registry currently says. -->
|
|
5
5
|
|
|
6
|
-
_Tool surface: 52 tools ·
|
|
6
|
+
_Tool surface: 52 tools · 312 actions · 5 prompts · fingerprint `9d51c7c1`._
|
|
7
7
|
|
|
8
8
|
The curated tools in `references/tools.md` cover the work an officer does most days. Everything else Phenomenal can do is reachable by name:
|
|
9
9
|
|
|
@@ -28,7 +28,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
28
28
|
## billing
|
|
29
29
|
|
|
30
30
|
- `archiveBillingProgram` — Archive a billing program whose season is over or that was opened by mistake but already has enrollments or charges: it leaves the program list and the billing desk's filter, takes no new enrollments or charges, and its details and rules are frozen.
|
|
31
|
-
- `copyBillingProgram` — Open the same billing program for a new period (next
|
|
31
|
+
- `copyBillingProgram` — Open the same billing program for a new period (next year, next season), carrying its plans, early-payment discounts, late fee and standing rules, with every due date moved to the new period.
|
|
32
32
|
- `createBillingProgram` — Open a recurring billing program (tuition, dues, membership, camp) for one period in one currency (ISO 4217, e.g.
|
|
33
33
|
- `deleteBillingProgram` **(confirm)** — Delete a billing program that nothing uses yet: no enrollment, no charge, and its rules never changed since it was opened.
|
|
34
34
|
- `setBillingProgramSettings` — Change a billing program's rules: payment plans with due dates, early-payment discounts, the late fee, the carry-forward threshold and the standing bands.
|
|
@@ -40,7 +40,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
40
40
|
- `activateBrandKit` **(confirm)** — Make a saved brand kit the organization's live one.
|
|
41
41
|
- `createBrandKit` — Save a new brand kit for the organization.
|
|
42
42
|
- `discardBrandKit` **(confirm)** — Permanently throw away one of the organization's saved brand kits.
|
|
43
|
-
- `generateBrandKit` — Generate a brand kit from the
|
|
43
|
+
- `generateBrandKit` — Generate a brand kit from the organization's existing website or logo.
|
|
44
44
|
- `readSiteContent` — Read an existing website's pages so a brand kit or starter content can be built from them.
|
|
45
45
|
- `updateBrandKit` — Replace a saved brand kit.
|
|
46
46
|
|
|
@@ -64,7 +64,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
64
64
|
|
|
65
65
|
## domains
|
|
66
66
|
|
|
67
|
-
- `addDomain` **(confirm)** — Register
|
|
67
|
+
- `addDomain` **(confirm)** — Register an organization-owned domain name for the organization and return the DNS records to publish.
|
|
68
68
|
- `claimSubdomain` **(confirm)** — Claim a phenomenal.org web address for the organization.
|
|
69
69
|
- `disableDomainSending` **(confirm)** — Stop sending email from a custom domain.
|
|
70
70
|
- `refreshDomainSending` **(confirm)** — Re-check the DNS records for sending email from a custom domain and update its status.
|
|
@@ -141,7 +141,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
141
141
|
- `setGroupJoinPolicy` **(confirm)** — Set whether people can join a group themselves or only an admin can add them.
|
|
142
142
|
- `setGroupMembership` **(confirm)** — Put a member in a group with a relation, or change the relation they are in it with.
|
|
143
143
|
- `setGroupMemberStatus` **(confirm)** — Mark a member active or inactive in one group.
|
|
144
|
-
- `setGroupMemberTitle` — Set a member's display title in one group (
|
|
144
|
+
- `setGroupMemberTitle` — Set a member's display title in one group (Coordinator, Treasurer).
|
|
145
145
|
- `setGroupParent` — Move a group underneath another group, or to the top level.
|
|
146
146
|
- `translateGroup` — Fill in a group's missing name translations.
|
|
147
147
|
- `updateGroup` — Change a group's name or description.
|
|
@@ -208,7 +208,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
208
208
|
- `setAssetAudience` **(confirm)** — Change who can see an uploaded file — the public, or members only.
|
|
209
209
|
- `setFaceExclusionEnabled` — Turn photo release by face on or off for the organization (off by default).
|
|
210
210
|
- `setGroupAlbum` **(confirm)** — Use one album as its group's own album, and stop using any other album of that group as its own, in one step.
|
|
211
|
-
- `setUpClassPhotos` — Give every class that lacks them a class album (visible only to that class's
|
|
211
|
+
- `setUpClassPhotos` — Give every class that lacks them a class album (visible only to that class's members and officers) and a DRAFT gallery on the class page, and report per class.
|
|
212
212
|
- `suggestAssetAlt` — Suggest a picture's description (alt text) from what the assistant read in it, in the given language and the organization's other languages.
|
|
213
213
|
- `updateAlbum` **(confirm)** — Rename an album, change its kind, set who it is for (scope and classification together), or choose its cover picture.
|
|
214
214
|
- `updateAsset` — Change an uploaded file's title, alt text, classification or scope.
|
|
@@ -228,12 +228,13 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
228
228
|
- `deleteMeeting` **(confirm)** — Permanently delete a meeting that is not live and has no published minutes: its agenda, transcript, attendance, questions, retained recording clips and knowledge entries.
|
|
229
229
|
- `draftItemMinutes` — Suggest minutes text for one agenda item from the transcript.
|
|
230
230
|
- `draftMeetingFindingSuggestions` — Draft reviewer-only cited findings from retained meeting clips after adjournment.
|
|
231
|
-
- `draftMinutesBroadcast` — Start sending a published meeting's minutes: creates an unsent broadcast draft addressed to the meeting's
|
|
231
|
+
- `draftMinutesBroadcast` — Start sending a published meeting's minutes: creates an unsent broadcast draft addressed to whoever may read the minutes (the meeting's groups, narrowed by the minutes' Belongs to and Sensitivity), with the minutes and their link.
|
|
232
232
|
- `generateItemMinutes` — Auto-draft and save an agenda item's minutes from the transcript and its recorded motions, marking the item done.
|
|
233
233
|
- `openPrompt` — Open a live vote in a meeting with its question and options.
|
|
234
|
-
- `publishMinutes` **(confirm)** — Publish an adjourned meeting's minutes as a page readable by
|
|
234
|
+
- `publishMinutes` **(confirm)** — Publish an adjourned meeting's minutes as a page readable by whoever may read them (minutes limited to groups, by the meeting or by their own Belongs to, publish to those groups' pages; minutes restricted to officers are refused).
|
|
235
235
|
- `raiseQuestion` — Raise a question to the floor of a live meeting so the chair sees it.
|
|
236
236
|
- `recordMotion` **(confirm)** — Record a motion in the minutes of a live meeting, with who moved and seconded it.
|
|
237
|
+
- `refreshMeetingFindings` — Remove a meeting’s key points that cite transcript lines no longer in the record (after an adopted transcript or a lost clip) and reopen drafting; then call `draftMeetingFindingSuggestions`.
|
|
237
238
|
- `removeAgendaItem` **(confirm)** — Delete an agenda item and renumber the rest of the meeting's agenda.
|
|
238
239
|
- `removeMinutesScreenshot` **(confirm)** — Take one screenshot out of the draft meeting minutes before they are published.
|
|
239
240
|
- `reorderAgendaItems` — Set the order of a meeting's agenda items by listing their ids in the order you want.
|
|
@@ -266,7 +267,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
266
267
|
## members
|
|
267
268
|
|
|
268
269
|
- `acceptInvite` — Accept an invitation to join an organization using the token from the invite link.
|
|
269
|
-
- `assignMemberRole` **(confirm)** — Give a member an additional named role (Treasurer,
|
|
270
|
+
- `assignMemberRole` **(confirm)** — Give a member an additional named role (Treasurer, Coordinator).
|
|
270
271
|
- `confirmMemberImport` **(confirm)** — Commit a member import that `previewMemberImport` has already checked.
|
|
271
272
|
- `createInvite` **(confirm)** — Prefer the `invite_member` tool. Invite someone to the organization by email at a chosen role.
|
|
272
273
|
- `previewMemberImport` — Check a CSV of members and report what would happen, without writing anything.
|
|
@@ -280,7 +281,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
280
281
|
|
|
281
282
|
## money
|
|
282
283
|
|
|
283
|
-
- `addBillingNote` — Add a shared staff note to a billing account: a note, a logged call, “calling now” to claim the call, or the day the
|
|
284
|
+
- `addBillingNote` — Add a shared staff note to a billing account: a note, a logged call, “calling now” to claim the call, or the day the payer got in touch before a due date.
|
|
284
285
|
- `attributeBillingPayment` — Say which payer made a payment that was recorded as “not sure”.
|
|
285
286
|
- `authorizeReimbursement` **(confirm)** — Authorize or deny a reimbursement request before the purchase (a denial always needs a `note` saying why; blank is refused with `extensions.reason: denial_note_required`), optionally for a different amount than the estimate, or again when its invoice came in over what was authorized.
|
|
286
287
|
- `choosePlan` — As a payer, ask for another of a program’s plans on your own enrollment that has no charges yet.
|
|
@@ -300,7 +301,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
300
301
|
|
|
301
302
|
## notebook
|
|
302
303
|
|
|
303
|
-
- `addMyNotebookEntry` — Save a note to your own private notebook
|
|
304
|
+
- `addMyNotebookEntry` — Save a note to your own private notebook in this organization.
|
|
304
305
|
|
|
305
306
|
## orders
|
|
306
307
|
|
|
@@ -355,7 +356,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
355
356
|
- `cancelPurchaseRequest` — Withdraw your own purchase request while the purchaser is still picking it up or quoting it.
|
|
356
357
|
- `cancelReimbursementRequest` — Withdraw your own reimbursement request while it is still waiting to be authorized.
|
|
357
358
|
- `completePurchaseStep` — Move a purchase request on: pick it up, mark it ordered once approved, or mark it received (which closes it and tells the requester).
|
|
358
|
-
- `decideWorkItem` — Approve or deny a request waiting for approval, such as a
|
|
359
|
+
- `decideWorkItem` — Approve or deny a request waiting for approval, such as a staff member’s time off or a quoted purchase.
|
|
359
360
|
- `discardProcessDraft` — Throw away the unpublished names of a back-office process; the live version stays.
|
|
360
361
|
- `markWorkItemNotesRead` — Mark your own unread note messages for one back-office request read, once you have read it.
|
|
361
362
|
- `recordPurchaseQuote` — Record the supplier and the quoted amount for a purchase request in the organization’s currency (USD or CRC), in minor units (cents or céntimos) as a string: ₡25,000 is amountMinor "2500000" and $45.50 is "4550", not "25000".
|
|
@@ -364,10 +365,10 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
364
365
|
- `requestPurchase` — Ask for something to be bought for yourself: what, how many, and the date it is needed by (at least the organization’s purchase lead time ahead).
|
|
365
366
|
- `requestReimbursement` — Ask to buy something urgent yourself and be paid back: what, why it cannot wait, about how much in minor units (céntimos for CRC) as a string, and the date it is needed by.
|
|
366
367
|
- `requestTimeOff` — Ask for time off for yourself (a day, part of a day, or a few days).
|
|
367
|
-
- `saveProcessDraft` — Save new names and descriptions for a back-office process and its steps
|
|
368
|
+
- `saveProcessDraft` — Save, as an unpublished draft, new names and descriptions for a back-office process and its steps in each language (`draft`: { title_i18n, description_i18n, steps: { <stepKey>: { label_i18n, description_i18n } } }, each text a { en, es, fr, pt } map; names at most 120 characters, descriptions 1,000; blank means Phenomenal’s wording) and, where `processDefinition.structureEditable` is true (time off and purchase), the steps themselves (`draft.structure`: { steps: [{ key, kind, owner_rule, condition }] } in order, a new step with `key: null`).
|
|
368
369
|
- `setMaterialsRequesterCannotDeliver` — Turn on or off whether the person who asked for a materials line may also be the one who delivers it (off by default: they may).
|
|
369
370
|
- `setProcessSettings` — Replace the organization's back-office rules for time off (the longest request in days), purchases and materials (how many days ahead, calendar or business days, the delivery weekdays 1 = Monday to 7 = Sunday; for purchases the largest quote, as amountMaxMinor in minor units (céntimos): a cap of ₡1,000,000,000 is “100000000000”; the older amountMax takes whole units).
|
|
370
|
-
- `setRuleConstraint` — Set, change or remove a floor or lock on a back-office rule of every organization BELOW this one (a
|
|
371
|
+
- `setRuleConstraint` — Set, change or remove a floor or lock on a back-office rule of every organization BELOW this one (a parent organization for the organizations below it): `materials-notice`/`purchase-notice` `minLeadDays` (floor: at least N calendar days), `materials-too-soon`/`purchase-too-soon` `leadTimeMode` (lock: refuse or warn), `materials-self` `requesterCannotDeliver` (lock), `time-off-max` `maxDays` (ceiling), `reimbursement-tolerance` `tolerancePercent` (ceiling; the owner only).
|
|
371
372
|
- `suggestProcessNameTranslations` — Translate a back-office process’s draft names and descriptions into the organization’s other languages, filling only languages that are still empty (typed words are never replaced).
|
|
372
373
|
- `unarchiveProcessDefinition` — Bring an archived back-office process back.
|
|
373
374
|
- `updateMaterialsLineDetails` — Change the brand and specs on your own line of a materials request that is not in the catalog, while the purchaser is still picking it up or quoting it.
|
|
@@ -399,7 +400,7 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
399
400
|
## tickets
|
|
400
401
|
|
|
401
402
|
- `cancelMyBooking` — Cancel a booking you made yourself.
|
|
402
|
-
- `checkInOrder` — Check a whole booking (
|
|
403
|
+
- `checkInOrder` — Check a whole booking (one party) in at the door in one step: every still-valid ticket on it.
|
|
403
404
|
- `checkInTicket` — Check a ticket in at the door by its code.
|
|
404
405
|
- `claimShift` — Take a seat on a volunteer shift, as yourself.
|
|
405
406
|
- `compTickets` **(confirm)** — Issue free tickets to someone for an event.
|
|
@@ -407,4 +408,4 @@ Areas: account, automations, billing, brand, broadcasts, connections, domains, d
|
|
|
407
408
|
- `releaseShift` — Give up a volunteer shift you claimed yourself.
|
|
408
409
|
- `resolveLatePayment` **(confirm)** — Mark a payment that arrived after its ticket order expired as dealt with, after refunding it in the Stripe Dashboard or issuing the tickets by hand.
|
|
409
410
|
- `undoCheckIn` — Undo a ticket check-in at the door.
|
|
410
|
-
- `undoCheckInOrder` — Undo a door check-in for a whole booking (
|
|
411
|
+
- `undoCheckInOrder` — Undo a door check-in for a whole booking (one party).
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!-- Generated from the Phenomenal tool registry. Do not edit by hand: a drift
|
|
4
4
|
gate fails when these files are not what the registry currently says. -->
|
|
5
5
|
|
|
6
|
-
_Tool surface: 52 tools ·
|
|
6
|
+
_Tool surface: 52 tools · 312 actions · 5 prompts · fingerprint `9d51c7c1`._
|
|
7
7
|
|
|
8
8
|
Two tools answer questions no curated tool anticipated.
|
|
9
9
|
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
<!-- Generated from the Phenomenal tool registry. Do not edit by hand: a drift
|
|
4
4
|
gate fails when these files are not what the registry currently says. -->
|
|
5
5
|
|
|
6
|
-
_Tool surface: 52 tools ·
|
|
6
|
+
_Tool surface: 52 tools · 312 actions · 5 prompts · fingerprint `9d51c7c1`._
|
|
7
7
|
|
|
8
|
-
Phenomenal runs
|
|
8
|
+
Phenomenal runs an organization: its public website, its member roster, its events and tickets, its email to members, its forms, its store and its money. It exposes all of that over the Model Context Protocol, so an assistant an officer already uses can do the work with them.
|
|
9
9
|
|
|
10
10
|
**If you are an assistant reading this on someone's behalf:** connect with one of the recipes below, then follow the guidance in "How to work in Phenomenal" further down. It combines the standing instructions and workflows from the live registry.
|
|
11
11
|
|
|
@@ -75,7 +75,7 @@ Custom HTML supports scoped styles, gradients, animations and static email fallb
|
|
|
75
75
|
|
|
76
76
|
## Worked sequences
|
|
77
77
|
|
|
78
|
-
Draft the weekly newsletter for my organization (call list_my_orgs first): org_overview → list_events for the next three weeks → list_pages → draft_broadcast. Report the saved draft and audience; use US English for
|
|
78
|
+
Draft the weekly newsletter for my organization (call list_my_orgs first): org_overview → list_events for the next three weeks → list_pages → draft_broadcast. Report the saved draft and audience; use US English for members. If a test is requested: send_broadcast_test without confirm → present its action/target/effect → end the turn → wait for a NEW explicit user message approving that preview → confirm the same action/target. Repeat the entire sequence separately for send_broadcast; test approval never approves the full send.
|
|
79
79
|
|
|
80
80
|
New event for my organization (call list_my_orgs first): . Ask for missing dates, location and ticket details. list_events → create_event → update_event for event details only. For tickets: list_mutations({ area: "events" }) → describe_mutation({ name: "createTicketType" }) → run_mutation with its exact input schema. For ticket changes, describe_mutation({ name: "updateTicketType" }) first. Leave the event unpublished; preview set_event_published and ask before confirming.
|
|
81
81
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<!-- Generated from the Phenomenal tool registry. Do not edit by hand: a drift
|
|
4
4
|
gate fails when these files are not what the registry currently says. -->
|
|
5
5
|
|
|
6
|
-
_Tool surface: 52 tools ·
|
|
6
|
+
_Tool surface: 52 tools · 312 actions · 5 prompts · fingerprint `9d51c7c1`._
|
|
7
7
|
|
|
8
8
|
Every tool the Phenomenal MCP server offers, in the order a client lists them. `list_my_orgs` is first because every other tool needs an organization id from it.
|
|
9
9
|
|
|
@@ -342,7 +342,7 @@ The groups in a Phenomenal organization — classes, committees, teams — with
|
|
|
342
342
|
|
|
343
343
|
### `groups_i_can_join`
|
|
344
344
|
|
|
345
|
-
The groups
|
|
345
|
+
The groups in this organization that a member can join themselves — clubs, committees and volunteer teams the organization opened to anyone. Use this before joinGroup: it is the only way to find a group by what it is about rather than by its exact name. Groups an administrator manages are not here and cannot be joined this way. "joined" says whether this person is already in one.
|
|
346
346
|
|
|
347
347
|
**Hints:** read-only, idempotent. **Confirm:** not required.
|
|
348
348
|
|
|
@@ -384,9 +384,9 @@ Create an email broadcast draft, or save into an existing one: pass broadcastId
|
|
|
384
384
|
|
|
385
385
|
- `orgId` (string) — The organization to act for — an id from list_my_orgs. Never invent one; if you are unsure which, ask the person.
|
|
386
386
|
- `broadcastId` (string) — Existing draft to save into. Omit to create a new draft.
|
|
387
|
-
- `subject` (string) — The subject line
|
|
387
|
+
- `subject` (string) — The subject line members will see. Saving an existing draft without it leaves the stored subject alone.
|
|
388
388
|
- `subjectByLanguage` (object) — The subject written in each OTHER language this draft goes out in, keyed by language code (e.g. {"es": "…"}), each written in that language and saying the same thing as `subject` — never the English copied. Required with a new subject when the draft also carries another language.
|
|
389
|
-
- `body` (string) — The message, in Markdown. Write it the way a
|
|
389
|
+
- `body` (string) — The message, in Markdown. Write it the way a member would want to read it — short, warm, and clear about dates and what to do. EVERY SECTION HEADER IS ITS OWN `## Heading` LINE — the ones you write yourself exactly as much as the ones from a document that was brought in. Never fold one into the paragraph beneath it as a bold lead-in (`**Main lesson** — we continue…`) — a `##` line becomes a section the officer can move, restyle and point at, and it is the only thing that arrives in an inbox as a header; a bold run opening a paragraph is swallowed by that paragraph and becomes nothing. Saving an existing draft without it leaves the stored message alone.
|
|
390
390
|
- `audience` (object) — Who it goes to. Omission selects every member for a new draft, but preserves the stored audience when saving an existing draft.
|
|
391
391
|
- `replyTo` (string) — Where replies go. Optional — the organization's contact address is used otherwise.
|
|
392
392
|
- `bodyBlocks` (array) — Complete prepared block-body candidate. Only for a prepared reusable-content save, and only together with expectedRevision and pendingCopies — to write ordinary prose, pass body instead.
|
|
@@ -403,7 +403,7 @@ Turn a Google Doc into an email broadcast DRAFT for one group, pictures included
|
|
|
403
403
|
|
|
404
404
|
- `orgId` (string) — The organization to act for — an id from list_my_orgs. Never invent one; if you are unsure which, ask the person.
|
|
405
405
|
- `docUrl` (string, required) — The document’s share link (https://docs.google.com/document/d/…) or its id.
|
|
406
|
-
- `groupId` (string, required) — The group this becomes a draft for — the class or grade the document belongs to. Required: its pictures are stored so that group’s
|
|
406
|
+
- `groupId` (string, required) — The group this becomes a draft for — the class or grade the document belongs to. Required: its pictures are stored so that group’s members can see them and nobody else.
|
|
407
407
|
|
|
408
408
|
### `send_broadcast_test`
|
|
409
409
|
|
|
@@ -548,7 +548,7 @@ The forms in a Phenomenal organization — sign-ups, RSVPs, volunteer slots —
|
|
|
548
548
|
|
|
549
549
|
### `form_submissions`
|
|
550
550
|
|
|
551
|
-
The answers people have submitted to a Phenomenal form, newest first, with who submitted each one when they were signed in. These carry
|
|
551
|
+
The answers people have submitted to a Phenomenal form, newest first, with who submitted each one when they were signed in. These carry names and email addresses — keep them inside your answer to the officer and do not repeat them elsewhere.
|
|
552
552
|
|
|
553
553
|
**Hints:** read-only, idempotent. **Confirm:** not required.
|
|
554
554
|
|
|
@@ -563,7 +563,7 @@ The answers people have submitted to a Phenomenal form, newest first, with who s
|
|
|
563
563
|
|
|
564
564
|
### `form_not_submitted`
|
|
565
565
|
|
|
566
|
-
Who in one Phenomenal group (and the groups under it) has not submitted one form yet: their names and the counts, never their answers or addresses. For "third grade, who hasn’t submitted the waiver?". Group leaders are not listed. These are
|
|
566
|
+
Who in one Phenomenal group (and the groups under it) has not submitted one form yet: their names and the counts, never their answers or addresses. For "third grade, who hasn’t submitted the waiver?". Group leaders are not listed. These are names of people — keep them inside your answer to the officer and do not repeat them elsewhere.
|
|
567
567
|
|
|
568
568
|
**Hints:** read-only, idempotent. **Confirm:** not required.
|
|
569
569
|
|
|
@@ -582,7 +582,7 @@ Find photos and files in a Phenomenal organization's media library by what is in
|
|
|
582
582
|
**Arguments**
|
|
583
583
|
|
|
584
584
|
- `orgId` (string) — The organization to act for — an id from list_my_orgs. Never invent one; if you are unsure which, ask the person.
|
|
585
|
-
- `query` (string, required) — What you are looking for — "fall festival pumpkins", "
|
|
585
|
+
- `query` (string, required) — What you are looking for — "fall festival pumpkins", "organization logo".
|
|
586
586
|
- `kind` (string) — Narrow to one kind, e.g. "image" or "document".
|
|
587
587
|
- `limit` (integer) — How many to return (1–50, default 20).
|
|
588
588
|
|
|
@@ -598,7 +598,7 @@ Add a picture or document to a Phenomenal organization's media library. Supply E
|
|
|
598
598
|
- `url` (string) — https address of the file. Use this whenever the file is already on the web.
|
|
599
599
|
- `data` (string) — The file, base64-encoded (a data: URL is also accepted). Only for a file you hold yourself and that is under about 4 MB — otherwise host it and pass `url`.
|
|
600
600
|
- `contentType` (string) — Required with `data`, e.g. "image/png". Ignored with `url`.
|
|
601
|
-
- `audience` (string, required) — Who may see the file: "public" (anyone on the internet, forever), "members", or "group:<groupId>". Required — there is deliberately no default. A photograph of children is not "public" unless the
|
|
601
|
+
- `audience` (string, required) — Who may see the file: "public" (anyone on the internet, forever), "members", or "group:<groupId>". Required — there is deliberately no default. A photograph of children is not "public" unless the organization has said so.
|
|
602
602
|
- `filename` (string) — A name to show in the library.
|
|
603
603
|
- `title` (string) — A short title for the library.
|
|
604
604
|
- `alt` (string) — What the picture shows, for someone using a screen reader.
|
|
@@ -606,7 +606,7 @@ Add a picture or document to a Phenomenal organization's media library. Supply E
|
|
|
606
606
|
|
|
607
607
|
### `ask_org`
|
|
608
608
|
|
|
609
|
-
Ask a question and get an answer drawn from a Phenomenal organization's own records — uploaded documents, pictures and files in the library, meeting minutes, motions, tasks, meeting transcripts, messages the organization has sent, published pages on its website, events, saved group chats, approved meeting summaries and approved meeting findings — with citations. Use this before guessing at anything about how a particular
|
|
609
|
+
Ask a question and get an answer drawn from a Phenomenal organization's own records — uploaded documents, pictures and files in the library, meeting minutes, motions, tasks, meeting transcripts, messages the organization has sent, published pages on its website, events, saved group chats, approved meeting summaries and approved meeting findings — with citations. Use this before guessing at anything about how a particular organization does things.
|
|
610
610
|
|
|
611
611
|
**Hints:** read-only. **Confirm:** not required.
|
|
612
612
|
|
|
@@ -675,7 +675,7 @@ Phenomenal's GraphQL schema. Give a type name to see that type and the types its
|
|
|
675
675
|
|
|
676
676
|
Draft this week’s newsletter from what is actually happening, and stop before sending.
|
|
677
677
|
|
|
678
|
-
Draft the weekly newsletter for my organization (call list_my_orgs first): org_overview → list_events for the next three weeks → list_pages → draft_broadcast. Report the saved draft and audience; use US English for
|
|
678
|
+
Draft the weekly newsletter for my organization (call list_my_orgs first): org_overview → list_events for the next three weeks → list_pages → draft_broadcast. Report the saved draft and audience; use US English for members. If a test is requested: send_broadcast_test without confirm → present its action/target/effect → end the turn → wait for a NEW explicit user message approving that preview → confirm the same action/target. Repeat the entire sequence separately for send_broadcast; test approval never approves the full send.
|
|
679
679
|
|
|
680
680
|
### new_event
|
|
681
681
|
|