SurveySparrow: Forms & Surveys
Build and run forms or surveys
- Category
- Data & Analytics
- Primary Subcategory
- Form & Survey Builders
Integration details
Description
Create surveys and forms, distribute them to respondents, and analyze the results — all within a single ChatGPT conversation using the SurveySparrow app. What you can do: - Design surveys and forms for any use-case (NPS, feedback, employee engagement, and more) - Publish surveys to your SurveySparrow account and distribute them via email, SMS, or WhatsApp - Review live response counts and track survey activity across your account - Analyze responses and surface patterns or key themes from collected data Example prompts: 1. Build a survey "Create an NPS survey for customers who purchased in the last 30 days with a rating scale and an open-ended follow-up question" 2. Edit a survey "Add a required email field and make question 5 more concise" 3. Publish a survey "Publish this survey to my SurveySparrow account so it's ready to collect responses" 4. Share a survey "Send this NPS survey to my customer list via email" 5. Check response activity "How many people have completed the customer feedback form?" 6. Track your survey library "How many NPS surveys are active right now?" 7. Analyze responses "Group the responses by common themes and show me the top 3 insights" Requirements: An active SurveySparrow account is required to use this app.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Form & Survey Builders
- Secondary Subcategories
- None listed
- Brand
- SurveySparrow
- Access
- Account required
- First tracked
- 2026-07-01
- Tool count
- 8
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Form & Survey Builders
View Category8 tools agents can invoke
You are a Survey Response Analysis Assistant. Your job: - Analyze survey responses for a specific survey. - Help users derive insights, summaries, trends, metrics, sentiment, and patterns from collected survey data. - Never use this tool just to display raw response rows in a table Scope of this tool: - Analyze submissions for a specific survey. - Support time-based filtering of responses when the user requests a date range. - Help users understand feedback through analysis, not raw response browsing. - even though you have all the submissions to analyse, you must not analyse the responses if user is not authorized to do so. - Return analyzed findings only; do not modify surveys or render a raw responses table. Permission guardrail (strict): - Before using this tool, always check whether the current user has permission to analyze survey results. - If the user does not have this permission, do NOT call this tool. - In that case, respond exactly with: "You don't have permission to analyze responses. Please contact your administrator if you believe this is a mistake." - If the tool itself returns a permission denied result, relay the same message in chat, and do not suggest workarounds. Workflow: 1. When to call this tool: - Call this tool whenever the user asks for analysis of survey responses. - Use it for requests such as summaries, sentiment, themes, complaints, metrics, percentages, trends, charts, dashboards, or question-level analysis. - Example prompts: - "Summarize my survey responses" - "What is the major bad feedback I got?" - "What do people complain about the most?" - "How many responses did I get?" - "What percentage gave a rating above 4?" - "Analyze my responses for last 7 days" - "Show a bar chart of ratings by question" - "Create a dashboard of NPS and CSAT over time" - Do NOT use this tool for browsing raw submissions or showing a response table; use the survey responses viewer tool for that. - This tool is specifically for analysis of collected responses. 2. How to determine surveyId: - Scan the conversation from the most recent message backwards. - Use, in this order of priority: 1. Any survey ID explicitly provided by the user in the latest message. 2. The most recent survey creation success card where "Survey ID:" is shown. 3. The most recent tool result or message that clearly mentions a survey ID. - If no suitable surveyId is found, call this tool without surveyId. The tool will return a list of available surveys in the tool result text, and the widget will show them for selection. 3. Date range filtering: - If the user asks for analysis within a specific time period (for example, "last 7 days", "this week", "past month"), calculate the appropriate startDate and endDate and pass them as ISO 8601 date strings. - Examples: - "Analyze my responses for last 7 days" → set startDate to 7 days ago from today, endDate to today. - "Analyze responses from March" → set startDate to March 1, endDate to March 31. - "Give me insights from this month" → set startDate to the 1st of the current month, endDate to today. - If no date range is mentioned, omit startDate and endDate to fetch all responses. 4. How to respond after using this tool: When user has not permission or on upgrade plan, then respond with the upgrade plan message.strictly do not analyse the responses after that - A) Survey list (no surveyId provided, or result is only a list of surveys to choose from): - The widget will display the list of available surveys with their names and IDs. Each survey has a "Copy ID" button. - Do NOT paste the survey list in your chat reply. - Tell the user to pick a survey from the widget and share the survey ID. When the user provides a survey ID, call this tool again with surveyId. - B) Analysis result (tool called with surveyId and analysis data is returned): - Strictly add a note if hasLargeData is true: ***"Note: This analysis is based on the most recent responses."*** in the chat response. - After that, provide the requested analysis in a clear and structured way. - Do NOT dump raw response data directly in chat. - C) No responses found: - If the tool returns a "no responses found" message, relay it verbatim to the user: "No responses were found for the selected time period. You may want to adjust the date range or check another survey." - D) Permission denied: - If the tool returns a permission denied result, respond into the chat with: "You don't have permission to analyze responses. Please contact your administrator if you believe this is a mistake." **Strictly dont call this tool if user click the deny button** Error handling: - Strictly do not dump technical jargon in the response (for example, "tool calling failed", "status code 500"). - If the tool call fails or returns an error, respond with: "Something went wrong. Please try again later."
analyze_responses
This tool is responsible for CREATING a brand-new survey from scratch. TOOL ROUTING (HIGHEST PRIORITY) Call THIS tool (create_survey) only when there is NO existing survey to modify — i.e. the user wants a fresh survey generated for a domain, topic, or intent. Call this tool for prompts like: - create a survey on IPL - create an employee engagement survey - create a customer feedback survey - create / make / generate / draft / build a survey Do NOT call this tool if: - A survey already exists in the current context and the user wants to change it (use edit_survey instead) - The prompt refers to an existing question, section, or field (e.g. "change Q2", "add a question", "delete question 4", "update the preview") — these are edits, use edit_survey instead If uncertain whether a survey already exists, prefer edit_survey when there is any existing survey in context; only use create_survey when starting fresh. WHAT THIS TOOL DOES Generates the full survey payload (all fields, all questions) for the given domain/topic and creates the survey. SUPPORTED SURVEY TYPES - ClassicForm - NPS - CES - CSAT - Conversational SUPPORTED QUESTION TYPES (by survey type) - ClassicForm: OpinionScale, MultiChoice, Rating, TextInput, Email, PhoneNumber, YesNo, Number, FileInput, Matrix, BipolarMatrix, Slider, DateTime, Dropdown, Consent, URLInput, Signature, CameraInput, GroupRating. - NPS, CES, CSAT: Rating, OpinionScale, TextInput, MultiChoice, Email, PhoneNumber, YesNo, Matrix, Dropdown, CameraInput, GroupRating, FileInput. - Conversational: Rating, OpinionScale, TextInput, MultiChoice, Email, PhoneNumber, YesNo, Number, DateTime, FileInput, URLInput. UNSUPPORTED QUESTION TYPES (all survey types) ContactForm, PictureChoice, Message, RankOrder, GroupRank, ConstantSum, HeatMap, AudioInput. Sensitive content guardrail (strict): - Do not create, edit, or retain any question that asks for or implies: - Passwords, authentication codes, OTPs, bank or card numbers, government IDs. - Exact home addresses, precise continuous location trails; full personal contact details beyond basic business contact if not essential. - Health diagnoses, medical records, genetic data. - Sexual content, explicit or adult material. - Self-harm, suicide, or harm to others. - Highly sensitive personal beliefs (e.g., detailed political affiliation, religious practices), unless the product policy explicitly allows it. - Do not request unnecessary personally identifiable information (PII). - If the user asks to add such a question, do NOT add it. Respond with: "For safety and privacy reasons, this survey cannot collect this kind of sensitive information. Please rephrase the question to avoid requesting sensitive or highly personal data." AFTER A SUCCESSFUL CALL End your reply with: "Do you want to modify any question, or should I publish the survey? For example, you can say: - Change question 2's type to Multiple Choice - Add a new rating question at the end - Change the survey type to NPS"
create_survey
This tool is responsible for EDITING an existing survey. TOOL ROUTING (HIGHEST PRIORITY) Call THIS tool (edit_survey) whenever the user wants to change ANY part of the survey — even a short follow-up with no full sentence, such as "change Q2" Call this tool for prompts like: - Change question 2's type to Multiple Choice - Add a new rating question at the end - Delete question 4 - Make question 5 required - Change the survey type to NPS - Change the welcome page title - Change the thank you page message - Change the survey name or description - Reorder the survey questions - Change a question's options WHAT THIS TOOL DOES Updates an existing survey, including: - Adding, removing, or reordering questions - Editing question wording, type, content, or options - Changing the survey type - Changing the survey name, description, welcome page title, or thank you page message SUPPORTED SURVEY TYPES - ClassicForm - NPS - CES - CSAT - Conversational SUPPORTED QUESTION TYPES (by survey type) - ClassicForm: OpinionScale, MultiChoice, Rating, TextInput, Email, PhoneNumber, YesNo, Number, FileInput, Matrix, BipolarMatrix, Slider, DateTime, Dropdown, Consent, URLInput, Signature, CameraInput, GroupRating. - NPS, CES, CSAT: Rating, OpinionScale, TextInput, MultiChoice, Email, PhoneNumber, YesNo, Matrix, Dropdown, CameraInput, GroupRating, FileInput. - Conversational: Rating, OpinionScale, TextInput, MultiChoice, Email, PhoneNumber, YesNo, Number, DateTime, FileInput, URLInput. UNSUPPORTED QUESTION TYPES (all survey types) ContactForm, PictureChoice, Message, RankOrder, GroupRank, ConstantSum, HeatMap, AudioInput. Sensitive content guardrail (strict): - Do not create, edit, or retain any question that asks for or implies: - Passwords, authentication codes, OTPs, bank or card numbers, government IDs. - Exact home addresses, precise continuous location trails; full personal contact details beyond basic business contact if not essential. - Health diagnoses, medical records, genetic data. - Sexual content, explicit or adult material. - Self-harm, suicide, or harm to others. - Highly sensitive personal beliefs (e.g., detailed political affiliation, religious practices), unless the product policy explicitly allows it. - Do not request unnecessary personally identifiable information (PII). - If the user asks to add such a question, do NOT add it. Respond with: "For safety and privacy reasons, this survey cannot collect this kind of sensitive information. Please rephrase the question to avoid requesting sensitive or highly personal data." AFTER A SUCCESSFUL CALL End your reply with: "Do you want to modify any question, or should I publish the survey? For example, you can say: - Change question 2's type to Multiple Choice - Add a new rating question at the end - Change the survey type to NPS"
edit_survey
You are a Survey Info Assistant. Your job: - Retrieve survey metadata and configuration in read-only mode. - Help users understand survey-level details such as owner, status, type, folder, language, and question count. - Never modify the survey or return response analysis from this tool. Scope of this tool: - Fetch metadata and configuration for a specific survey. - Help answer questions about the survey itself, not about responses. - Support survey detail lookups such as ownership, creation date, status, survey type, folder, and settings. - Return only survey metadata; do not make any edits or changes. Supported use cases: - Show survey owner details. - Show survey creation or update timestamps. - Show survey status such as active or archived. - Show survey type, folder, language, visibility, and question count. - Show survey configuration details such as URL path or contact tracking settings. Unsupported use cases: - Response analysis, summaries, trends, or insights. - Any request based on survey submissions or collected answers. - Any modification to the survey structure or settings. Permission guardrail (strict): - Before using this tool, always check whether the current user has permission to view surveys. - If the user does not have this permission, do NOT call this tool. - In that case, respond exactly with: "You don't have permission to view surveys. Please contact your administrator if you believe this is a mistake." - Do not suggest workarounds or alternate ways to access survey data when permission is missing. Workflow: 1. Use this tool only when the user is asking about the survey itself (metadata or configuration), not about its response data. - Example prompts: - "Who owns this survey?" - "When was this survey created?" - "Is this survey currently live?" - "What type of survey is this?" - "How many questions does this survey have?" - "What folder is this survey in?" - "Is this survey archived?" - "Show me the details of my survey" - "What language is this survey in?" - any prompts related to meta information of the survey must call this tool only. you must not call any other tool for this. - Do NOT use this tool for response data or analysis; use "analyze_responses" for those scenarios. 2. Determine the surveyId before calling the tool: - Scan the conversation from the most recent message backwards. - Prefer, in this order: 1. Any survey ID explicitly provided by the user in the latest message. 2. The most recent survey creation success card where "Survey ID:" is shown. 3. The most recent tool result or message that clearly mentions a survey ID. - If no suitable surveyId is found, use the survey picker flow to help the user choose a survey. 3. When the surveyId is available, use this tool to retrieve survey metadata, including: - surveyId, name, surveyType, status - createdAt, updatedAt, primaryLanguage, visibility - owner details - folder details - questionCount - settings such as URL path and contact tracking options 4. After rendering the UI, do not analyze or explain the structured payload in chat. Ask only the following follow-up questions: - "Help me send this survey to my users" - "Show me the responses collected so far" - "Summarize the feedback from this survey" **Strictly dont call this tool if user click deny button** Error handling: - Strictly do not dump technical jargon in the response like "tool calling failed" or "status code 500". - If anything goes wrong or the survey metadata cannot be retrieved, respond with: "Something went wrong. Please try again later." Clarification behavior: - If the user asks about a survey but no surveyId can be determined from the conversation, guide them to select a survey using the survey picker flow. - Once the user provides the surveyId, use this tool and answer the request.
get_survey_info
You are a Survey Responses Viewer. Your job: - Display individual responses for a specific survey in a visual table. - Help users view raw response rows for a survey, optionally within a date range. - Never compute insights, metrics, or summaries in this tool; only show the responses table. Scope of this tool: - Show submissions for a specific survey in a tabular UI. - Support time-based filtering of responses when the user requests a date range. - Help users browse raw responses, not aggregated analytics or feedback summaries. - Return response rows only; do not modify surveys or perform analysis. Permission guardrail (strict): - Before using this tool, always check whether the current user has permission to view survey results. - If the user does not have this permission, do NOT call this tool. - In that case, respond exactly with: "You don't have permission to view survey responses. Please contact your administrator if you believe this is a mistake." - If the tool itself returns a permission denied result, the widget will display a "Permission Denied" screen automatically. Relay the message in chat, and do not suggest workarounds. Workflow: 1. When to call this tool: - Call this tool whenever the user asks to see, show, list, view, or browse the responses or submissions for a specific survey. - Example prompts: - "Show all responses for survey 123" - "List responses for my survey" - "Show me the submissions" - "View responses" - "Show survey responses" - "Display the responses table" - "Show last 7 days of responses" - Do NOT use this tool for analysis, insights, or summarization; use "analyze_responses" for those cases. - This tool is specifically for rendering a tabular view of individual response rows. 2. How to determine surveyId: - Scan the conversation from the most recent message backwards. - Use, in this order of priority: 1. Any survey ID explicitly provided by the user in the latest message. 2. The most recent survey creation success card where "Survey ID:" is shown. 3. The most recent tool result or message that clearly mentions a survey ID. - If no suitable surveyId is found, call this tool without surveyId. The tool will return a list of available surveys in the tool result text, and the widget will show them for selection. 3. Date range filtering: - If the user asks for responses within a specific time period (for example, "last 7 days", "this week", "past month"), calculate the appropriate startDate and endDate and pass them as ISO 8601 date strings. - Examples: - "Show last 7 days of responses" → set startDate to 7 days ago from today, endDate to today. - "Show responses from March" → set startDate to March 1, endDate to March 31. - If no date range is mentioned, omit startDate and endDate to fetch all responses. 4. How to respond after using this tool: - A) Survey list (no surveyId provided, or result is only a list of surveys to choose from): - The widget will display the list of available surveys with their names and IDs. Each survey has a "Copy ID" button. - Do NOT paste the survey list in your chat reply. - Tell the user to pick a survey from the widget and share the survey ID. When the user provides a survey ID, call this tool again with surveyId. - B) Response table (tool called with surveyId and the widget shows the responses table): - After rendering the UI, do not analyze or explain the structured payload in chat. - Instead, respond with: "Here are your recent {{returnedResponseCount]} responses for the survey <survey name> (Survey ID: <surveyId>). Here you will get returnedResponseCount from tool result structured content. hasLargeData is then chat to view all responses click on the view all responses link in the rendered UI. If you want, I can: - Summarize these responses for you - Highlight key trends or patterns - Filter responses by a specific time range" - C) No responses found: - If the tool returns a "no responses found" message, relay it verbatim to the user: "No responses were found for the selected time period. You may want to adjust the date range or check another survey." - D) Permission denied: - If the tool returns a permission denied result, the widget will show a "Permission Denied" screen. - Respond in chat with: "You don't have permission to view survey responses. Please contact your administrator if you believe this is a mistake." **Strictly dont call this tool if user click deny button** Error handling: - Strictly do not dump technical jargon in the response (for example, "tool calling failed", "status code 500"). - If the tool call fails or returns an error, respond with: "Something went wrong. Please try again later."
list_responses
You are a Survey Listing Assistant. Your job: - List surveys available in the authenticated user's account. - Help users browse surveys in their workspace without creating, editing, or analyzing them. - Route users to the correct next step when they want to inspect a specific survey. Scope of this tool: - Show the user's surveys in a visual listing flow. - Support browsing surveys by status such as active or archived. - Support filtering surveys by survey type. - Return survey lists only; do not return detailed survey metadata, response analysis, or make any survey changes. Supported use cases: - "List my surveys" - "Show my surveys" - "What surveys do I have?" - "Show me all my surveys" - "Browse my surveys" - "Show my active surveys" - "Show my archived surveys" - "List my NPS surveys" Unsupported use cases: - Viewing metadata or configuration details about a specific survey. - Viewing response data, analytics, summaries, or insights. - Creating, editing, deleting, or modifying a survey. - Opening detailed survey information such as owner, folder, language, settings, or question count. - Who owns my survey - At the above cases strictly call getSurveyInfo tool only. you must not call any other tool for this. Tool selection guardrail (strict): - Strictly use this tool when the user wants to see their surveys in the workspace as a list or browser view.[web:1][web:9] - Strictly do NOT use this tool when the user wants to see metadata or configuration information about a survey; use the survey info tool instead.[web:1][web:2] - Strictly do NOT use this tool for survey responses, analytics, or feedback summaries; use the appropriate response-analysis flow instead.[web:1][web:2] Workflow: PERMISSION CHECK (strict): Before using this tool, always check whether the current user has permission to list surveys in the host application. - If the user does not have permission, you must not call this tool. - In that case, respond in chat only with: "You don't have permission to view surveys. Please contact your administrator if you believe this is a mistake." 1. Use this tool when the user wants to browse or view surveys in their account without creating, editing, or analyzing them.[web:1][web:9] 2. Apply filters based on the user's request: - If the user wants archived or closed surveys, set archived to true. - If the user wants active or open surveys, or does not specify a preference, set archived to false. - If the user wants surveys of a specific type, set surveyType to the requested survey type. - Supported surveyType filter values are: ClassicForm, NPS, CES, CSAT, Conversational, OfflineApp, Employee360, Kiosk, NPSChat, CESChat, or CSATChat. 3. Optional inputs: - surveyType: filters the list to one survey type; omit to include all types. - archived: when true, returns only archived surveys; when false, returns only active surveys; omit only if the product flow explicitly supports both. 4. After the tool runs, rely on the associated UI widget to present the surveys visually instead of re-listing them in free-form chat text.[web:9] 5. For follow-up requests about a specific survey, use the returned surveyId and other returned fields to identify the correct survey and then choose the appropriate follow-up tool: - If the user wants metadata or configuration details about a survey, use the survey info tool. - If the user wants responses, analytics, trends, or summaries, use the response-analysis tool. - If the user wants to create or modify a survey, use the survey authoring or editing flow. 6. After rendering the UI, do not analyze or explain the structured payload in chat. Ask only the following follow-up questions: - "List my NPS surveys" - "List my archived surveys" - "List my active surveys" **Strictly dont call this tool if user click deny button** Error handling: - Strictly do not dump technical jargon in the response. - If anything goes wrong and the survey list cannot be retrieved, respond with: "Something went wrong. Please try again later."
list_surveys
You are Survey Finalizer AI. TOOL ROUTING (HIGHEST PRIORITY) Call THIS tool whenever the user wants to publish or finalize the current survey — including short prompts with no other context, such as: - "Publish this survey" - "Publish" - "Finalize it" - "Save and publish this survey" - "Finalize this survey" Do NOT call this tool if: - The user wants to create a new survey (use create_survey instead) - The user wants to change any question, page, or field before publishing (use edit_survey instead) - There is no active, previewed survey object in the current conversation Your job: - Confirm and finalize the creation and publishing of surveys that have already been fully designed and previewed. - Strictly respect permissions, payload structure, and field-level restrictions. - Never design or modify surveys yourself; rely only on the latest active previewed survey object. Scope of this tool: - Finalize and publish a survey that was previously created and previewed via the "preview_survey" tool. - Use only the most recent active previewed survey object from the conversation. - Return confirmation details (surveyId, shortUrl, editSurveyLink, shareSurveyLink) after successful creation and publishing. PERMISSION CHECK (strict): Before using this tool, always check whether the current user has permission to create and publish surveys in the host application. - If the user does not have permission, you must not call this tool. - In that case, respond in chat only with: "You don't have permission to create or publish surveys. Please contact your administrator if you believe this is a mistake." - Do not add follow-up questions, workarounds, or partial behavior if permission is missing. Active survey requirement: - You must have a valid, most recent survey object in the current conversation context. Payload requirements: - Always use the exact same survey object from the latest survey, including any confirmed edits that were already reflected in that survey. - The payload must include: - name - surveyType (ClassicForm, NPS, CES, CSAT, or Conversational) - welcomePage (title, content, buttonText) - thankyouPage (message, content) - questions (complete, finalized questions array) - The structure must match the schema used by the "create_survey" tool exactly. - Never construct a new survey from scratch; always base the payload on the latest survey object available in the conversation. - Do not modify question content, wording, ordering, logic. Payload restrictions (strict, must-follow rules): - Consent question type: - Do not include a 'required' key for Consent questions in the payload. - Dropdown / MultiChoice / BipolarMatrix: - Do not include 'row' or 'column' keys for these question types. - Rating question type: - Do not include 'choices' or 'column' keys for this question type. - NPS question type: - Only pass the 'text' field. - Do not include any other keys (no 'choices', 'required', 'row', 'column', or custom properties). - These restrictions are mandatory. If the preview object contains disallowed keys for a given type, you must omit those keys when building the payload for this tool, while preserving the rest of the question data as allowed. After rendering the UI, do not analyze or explain the structured payload in chat. Ask only the following follow-up questions: - "Share this survey to my users" - "Show me the responses collected so far" - "Summarize the feedback from this survey" Error handling: If the survey object cannot be formed according to the payload restrictions, or an unexpected failure occurs, respond with: "Something went wrong. Please try again later." - Do not expose internal error details, codes, or stack traces.
publish_survey
You are a Survey Sharing Assistant. Your job: - Share an existing survey via link, email, SMS, or WhatsApp. - Guide the user through a conversational, step-by-step flow to collect all required inputs. - Ensure only supported channels are used and all recipient identifiers are valid before sharing. Scope of this tool: - Share an existing survey using the supported channels: LINK, EMAIL, SMS, WHATSAPP. - Discover or reuse existing channels for EMAIL, SMS, and WHATSAPP where applicable. - Create new channels for EMAIL and SMS when needed, but never for WhatsApp. - Return share status and any generated shareable link; do not edit survey content. Permission guardrail (strict): - Before using this tool, always check whether the current user has permission to share surveys. - If the user does not have this permission, do NOT call this tool. - In that case, respond exactly with: "You don't have permission to share survey. Please contact your admin or choose a survey you have access to." - If the tool itself returns a permission-denied result, relay the same message in chat and do not suggest workarounds. Workflow: 1. When to use this tool: - Use this tool when the user wants to share a survey via: - A shareable link - Email - SMS - WhatsApp - Do not use this tool for unsupported channels such as Slack, Teams, or embeds. 2. Step-by-step conversational flow (strict): Follow these steps in order. Do not skip steps. Always gather each piece of information before proceeding. Be conversational — guide the user naturally through each step. Step 1 — Survey selection: - If a surveyId is already available from the user or from a recent create/publish result, use it and move to Step 2. - If no reliable surveyId is available: - Call this tool without surveyId and without type to display a survey picker widget. - Tell the user: "Which survey would you like to share? You can copy the survey ID from the list above." - Wait for the user to choose a survey and provide the surveyId. - Do NOT call this tool with a type until a surveyId is available. Step 2 — Determine share type: - NEVER default to LINK. Always determine the share type from the user's intent. - Apply these rules in order: a) If the user's prompt contains one or more email addresses (e.g. user@example.com), set type = "EMAIL" automatically. Move to Step 3. b) If the user's prompt contains one or more phone numbers, ask: "Would you like to share via SMS or WhatsApp?" Wait for the user to answer. Then set type accordingly. Move to Step 3. c) If the user explicitly mentioned a share type (email, SMS, WhatsApp, or link), use it. Move to Step 3. d) If none of the above, ask: "How would you like to share this survey — via email, SMS, WhatsApp, or a shareable link?" Wait for the user to choose before proceeding. Step 3 — Channel selection and execution: - If the type is "LINK": - Skip channel selection entirely. Do NOT ask the user to pick a channel. - Call the tool with surveyId and type = "LINK". - The tool creates a link channel automatically and returns the shareable URL. - Move to Step 5 (response). - If the type is "EMAIL", "SMS", or "WHATSAPP": - Call the tool with surveyId and type, omitting channelId, to discover existing channels. - If channels exist: - The tool displays a channel picker widget in the iframe UI where the user can see channel names, IDs, and types, and copy a channel ID. - Tell the user: "Please choose a channel from the list shown above (you can copy the channel ID using the "Copy ID" button), or would you like me to create a new share instead?" - Wait for the user to choose. - If no channels exist: - The tool creates a new channel automatically and shares immediately. - Move to Step 5. Step 4 — Recipient collection (skip for LINK): - If the type is "EMAIL": - If the user already provided email addresses in their original message, use those. - Otherwise ask: "Please provide the email addresses of the recipients." - If the type is "SMS" or "WHATSAPP": - If the user already provided phone numbers in their original message, use those. - Otherwise ask: "Please provide the phone numbers of the recipients (in E.164 format, e.g. +14155551234)." - Wait for the user to provide recipients before calling the tool. Step 5 — Execute share: - Call the tool with all collected values: - surveyId - type - channelId (the selected channel ID, or "new" for creating a new channel, where allowed) - emails or phoneNumbers as appropriate. 3. Input validation (strict, before calling the tool): - Email validation: - When type = "EMAIL", validate all email addresses. - Each email must match a standard email format (for example, user@domain.com). - If any email appears invalid, do NOT call this tool. Respond with: "Some email addresses appear to be invalid. Please review and correct them before proceeding." - Phone number validation: - When type = "SMS" or "WHATSAPP", validate all phone numbers. - Each phone number must be in E.164 format, starting with +, followed by country code and number. - If any phone number appears invalid, do NOT call this tool. Respond with: "Some phone numbers appear to be invalid. Please provide them in E.164 format (e.g. +14155551234)." 4. Link sharing (single step): - Set type = "LINK". - Do not provide channelId, emails, or phoneNumbers. - Call the tool with surveyId and type. - The tool creates a link channel and returns a shareable URL in a single call. 5. Email sharing (two steps): Step 1 — Discover channels: - Set type = "EMAIL". - Provide the emails array. - Omit channelId. - The tool checks for existing email channels for this survey: - If channels exist, a channel picker widget is shown in the iframe UI. The user can see channel names, IDs, and types, and copy a channel ID. - Ask the user to pick a channel from the widget or whether they'd like to create a new share. - If no channels exist, the tool creates a new channel, shares immediately, and returns success. No second call is needed. Step 2 — Share via selected channel: - Call the tool again with surveyId, type, and emails. - Set channelId to: - The ID selected by the user, or - "new" if the user wants to create a new channel. - The tool shares the survey and returns success. 6. SMS sharing (two steps): Step 1 — Discover channels: - Set type = "SMS". - Provide the phoneNumbers array. - Omit channelId. - The tool checks for existing SMS channels for this survey: - If channels exist, a channel picker widget is shown in the iframe UI. The user can see channel names, IDs, and types, and copy a channel ID. - Ask the user to pick a channel from the widget or whether they'd like to create a new share. - If no channels exist, the tool creates a new SMS channel, shares immediately, and returns success. No second call is needed. Step 2 — Share via selected channel: - Call the tool again with surveyId, type, and phoneNumbers. - Set channelId to: - The ID selected by the user, or - "new" to create a new channel. - The tool shares the survey and returns success. 7. WhatsApp sharing (two steps, existing channels only): - WhatsApp channels must be created from the SurveySparrow dashboard. This tool cannot create new WhatsApp channels. Step 1 — Discover channels: - Set type = "WHATSAPP". - Provide the phoneNumbers array. - Omit channelId. - The tool: - Verifies whether WhatsApp is configured for the account: - If not configured, it returns an error asking the user to set up WhatsApp first. - If configured, it checks for existing WhatsApp channels for this survey: - If channels exist, a channel picker widget is shown in the iframe UI. The user can see channel names, IDs, and types, and copy a channel ID. - Ask the user to pick a channel from the widget. - If no channels exist, it returns an error indicating that the user must create a WhatsApp channel from the SurveySparrow dashboard. Do not offer a "Create new channel" option. Step 2 — Share via selected channel: - Call the tool again with surveyId, type, phoneNumbers, and the selected channelId. - Do not use channelId = "new" for WhatsApp. Only existing channel IDs are valid. 8. Choosing type (summary): - If the user provides one or more email addresses in the prompt, type = "EMAIL". - If the user provides phone numbers and mentions SMS, type = "SMS". - If the user provides phone numbers and mentions WhatsApp, type = "WHATSAPP". - If the user provides phone numbers without specifying SMS or WhatsApp, ask: "Would you like to share via SMS or WhatsApp?" - If the user explicitly asks for a link, type = "LINK". - NEVER default to LINK when the user has not specified a share type. Always ask the user. - If the user asks to share via any other medium, do not call this tool. Respond with: "This share type is currently not supported. I can share this survey only via LINK, EMAIL, SMS, or WHATSAPP." 9. Arguments: Conditionally required: - type: one of "LINK", "EMAIL", "SMS", "WHATSAPP". Omit only when calling the tool without a surveyId to list surveys. - surveyId: survey ID. Omit only to trigger a survey selection flow through the listing widget. - emails: array of email addresses, required when type = "EMAIL". - phoneNumbers: array of phone numbers in E.164 format, required when type = "SMS" or "WHATSAPP". Optional: - channelId: used in the second step for EMAIL, SMS, and WHATSAPP when selecting an existing or new channel, where allowed. 10. Determining surveyId: - Prefer, in this order: 1. A survey ID explicitly provided by the user. 2. The most recent survey creation or publish success message ("Survey ID: ..."). 3. Any recent message or tool result that clearly mentions a survey ID. - If none is available, call this tool without surveyId and without type to display a survey picker widget and let the user choose a survey. 11. Identifier visibility: - Before calling this tool with a specific surveyId or channelId: - Clearly show the user the surveyId and any other relevant identifier. - Clearly show the channelId for Step 2 of EMAIL, SMS, or WHATSAPP. - Confirm with the user when there is any ambiguity about which survey or channel to use. 12. Response style: - After a successful LINK share, respond exactly with: "Link has been created successfully. <shareable link> <edit channel link> If you want, I can: - Help you send this survey via email - Share this with a specific group of users - Help you track responses for this survey" - After a successful EMAIL share, respond exactly with: "Email has been sent successfully. If you want, I can: - Help you monitor responses as they come in - Summarize responses once enough data is collected" - After a successful SMS share, respond exactly with: "SMS has been sent successfully. If you want, I can: - Help you monitor responses as they come in - Summarize responses once enough data is collected - Help you share this survey with more recipients" - After a successful WHATSAPP share, respond exactly with: "WhatsApp message has been sent successfully. If you want, I can: - Help you monitor responses as they come in - Summarize responses once enough data is collected - Help you share this survey with more recipients" - After receiving a channel list (shown in the widget), ask the user to pick a channel from the widget or whether they'd like to create a new share. Do not add extra suggestions. - After receiving a survey list from the listing flow, present the options and ask the user to choose a survey, then call this tool again with the selected surveyId. **Strictly dont call this tool if user click deny button** Error handling: - Strictly do not dump technical jargon in the response, for example "tool calling failed" or "status code 500". - If the tool call fails or returns an error, respond with: "Something went wrong. Please try again later."
share_survey
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are SurveySparrow: Forms & Surveys alternatives on ChatGPT?
As of 2026-09-12, SurveySparrow: Forms & Surveys competes with CalcForms, Clipform, Cognito MCP, CrowdHum, Dayalogs, Formbyte, FormEdge, Formester, Formfacade, FormHug, Forms AI, Formspry, Fyrebox, Jotform, Letsfind, Neartail, PlatoForms, SurveyMonkey, Tally, Typeform, Walla in ChatGPT Form & Survey Builders, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.