inviteTesters
Invites people to join this beta project as testers. TWO-STEP TOOL: call it WITHOUT confirmationToken first — nothing is sent and you receive a preview plus a confirmationToken. Show the preview to the user; only after the user explicitly approves, call again with the SAME arguments plus the confirmationToken. Tokens are single-use, expire after a few minutes, and are bound to the people resolved and the beta project's lifecycle state at preview time: if either changes before the confirm, it fails asking for a fresh preview. Name people either by email (invitees, addresses supplied by the user) or, for people who are already testers somewhere in this workspace, by their userId (userIds, from listOrganizationTesters — since tester emails are never exposed here, this is how you re-invite testers from another beta project; its productIds field shows which beta projects each tester already belongs to). The two combine freely; at least one is required. Duplicates are resolved server-side: someone who already belongs to this beta comes back as "alreadyTester" and an email that already holds a pending invitation comes back as "invited" WITHOUT being emailed again (use pingTesters to re-send those). An invitee whose address cannot receive mail is still "invited" but carries emailDelivery "undeliverable" and is counted in undeliverable: the invitation exists, no email went out, and pinging will not help, so cancel it and invite the corrected address. While the beta project is still a DRAFT the invitations are created but no emails go out; they are only sent once the beta is published or running. Finished and archived beta projects refuse invitations. When the beta has an activated custom invitation email template (getProductOverview customInvitationEmail, configured with setInvitationEmail), the invitation emails use it. Results for userId-sourced people are reported by name and userId, never by email; the pending invitation they leave behind is likewise reported by id and name in listPendingInvitations, and pingTesters and cancelInvitations take that id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| userIds | No | userId values of existing workspace testers to invite, as returned by listOrganizationTesters. Use this for people whose email you do not know (tester emails are not exposed over this connection). | |
| invitees | No | The people to invite by email address. Use real email addresses supplied by the user; never fabricate them. | |
| productId | Yes | ID of the beta project to query. Get valid IDs from the listProducts tool. | |
| confirmationToken | No | Two-step confirmation token. Omit on the first call to receive a preview plus a token; then call again with the SAME arguments plus this token to execute. Single-use and short-lived. |