← Back to all apps

Formbyte

Productivityby Vidline Inc.

Jump-start form creation inside ChatGPT. Ask Formbyte to whip up surveys, signup forms, polls—then refine or analyze results right in the same thread.

How to Use Formbyte in ChatGPT

1. Connect: Connect the Formbyte app to ChatGPT. 2. Trigger: Type Commands: Simply type “@” then choose the Formbyte app, or type “Formbyte” (followed by a space) in the chat box. 3. Create: You are ready to go! Try asking specifically: · Formbyte, create a form to collect customer feedback. · Design a fillable application form for job applicants. · Formbyte, generate a course-evaluation survey for my online class.

One prompt gives you a polished form plus live Q&A analytics, all in chat. Connect Formbyte and type “create a form” to turn questions into decisions.

8ChatGPT Tools
Vidline Inc.Developer
ProductivityCategory

Available Tools

Change the theme of a form with a specific formId.

change-form-theme
Full Description

Change the theme of a form with a specific formId.

Parameters (2 required)
Required
formIdstring

Form ID to be changed.

themestring

Form theme to be applied.

Get-form-response-download-url

get-form-response-download-url
Full Description

Get the download url for form responses.

⚠️ MANDATORY USAGE RULE: You MUST call this tool BEFORE getting the download url. You cannot get the download url without knowing the exact formId.

Parameters (1 required)
Required
formIdstring

Form ID. Pass the formId of whichever form's data you want to get the download url.

Get-form-responses

get-form-responses
Full Description

Retrieve all submissions/responses for a specific form.

Usage:

  • Call when user wants to view form submissions or responses
  • Call when user wants to analyze collected data from a form
  • Call when user asks "how many people filled out this form"

When people want to view the form content not the responses, you should use the tool "manage_form" to open the form instead of this tool. .

Prerequisites: Requires a valid form ID. If user doesn't provide one, first use list_form to help them identify the correct form.

Parameters (1 required)
Required
formIdstring

The unique identifier of the form to retrieve submissions for. Usage: - User says "show submissions for form abc123": set to "abc123" - User says "get responses for my survey": first call list_form to get the form ID, then use that ID here

Get-form-schema

get-form-schema
Full Description

CRITICAL FIRST STEP for any data analysis task. Returns the database table name, column definitions, and field types for a specific form.

⚠️ MANDATORY USAGE RULE: You MUST call this tool BEFORE calling query_form_data. You cannot write correct SQL without knowing the exact table name (e.g., "form_submissions_f_xyz") and column names (e.g., "item_satisfaction").

Returns:

  • Table name
  • Column list (mappings between Item ID and Database Column Name)
  • Data types
Parameters (1 required)
Required
formIdstring

Form ID. Pass the formId of whichever form's data you want to analyze.

List-forms

list-forms
Full Description

List forms created by the user with support for search, filtering, and sorting.

Usage:

  • Call when user requests to view form list
  • Call when user searches for specific forms (with query parameter)
  • Call when user wants to see recently created/updated forms (set sortBy)

Default behavior: Sort by update time in descending order (most recently updated first).

Parameters (0 required, 3 optional)
Optional
querystring

Search keyword (optional). Matches form title and description fields. If not provided, returns all forms (based on other filter conditions). Usage: - User says "list all forms": don't set this parameter - User says "find satisfaction-related forms": set to "satisfaction" - User says "search registration forms": set to "registration"

sortBystring

Sort field: - created_at: Sort by creation time - updated_at: Sort by update time (default) Usage: - User says "recently created forms": set to "created_at" - User says "recently updated forms" or unspecified: set to "updated_at"

Options:created_atupdated_at
Default: updated_at
sortOrderstring

Sort direction: - desc: Descending order, newest first (default) - asc: Ascending order, oldest first Usage: - User says "earliest created" or "old to new": set to "asc" - Otherwise: default "desc"

Options:ascdesc
Default: desc

Manage-form

manage-form
Full Description

Unified tool for managing forms - supports creating new forms, updating existing forms, and opening forms.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ CRITICAL: QUESTION NUMBERING RULES ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

When user refers to questions by number, ONLY count question types (NOT screens):

Counted as questions: short_text, long_text, email, website, number, date, radio, multiple_choice, rating

NOT counted as questions: start_screen, end_screen

EXAMPLE FORM STRUCTURE: items: [ {id: "welcome", type: "start_screen"}, ← Position 0, NOT "question 1" {id: "name", type: "short_text"}, ← Position 1, THIS IS "question 1" ✓ {id: "email", type: "email"}, ← Position 2, THIS IS "question 2" ✓ {id: "rating", type: "rating"}, ← Position 3, THIS IS "question 3" ✓ {id: "thanks", type: "end_screen"} ← Position 4, NOT a question ]

USER INTENT → CORRECT INTERPRETATION:

  • "编辑第一题" / "edit first question" → Edit position 1 (name), NOT position 0
  • "删除第3题" / "delete question 3" → Delete position 3 (rating), NOT position 4
  • "在第2题后面添加" / "add after question 2" → Add at position 3, after email
  • "修改最后一题" / "edit last question" → Edit position 3 (rating), NOT position 4

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🎯 ACTION TYPES:

1. 'create'

  • Create a new form

Required: action='create', createObj (with title and items) Example: { "action": "create", "createObj": { "title": "Customer Satisfaction Survey", "description": "Help us improve", "items": [...] } }

2. 'update'

  • Update an existing form

Required: action='update', updateObj (with formId, description, and operations) Example: { "action": "update", "updateObj": { "formId": "abc123", "description": "Added email field", "operations": [...] } }

3. 'open'

  • Open a form

Required: action='open', openObj (with formId) Example: { "action": "open", "openObj": { "formId": "abc123" } }

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📝 CREATE ACTION:

Create a new form based on user's natural language description. Each question is displayed one at a time for better focus and completion rates.

🚨 MANDATORY STRUCTURE: Every form MUST follow this structure: 1. Start with ONE start_screen (position 0)

  • REQUIRED

2. Include at least ONE question item

  • REQUIRED

3. End with ONE end_screen (last position)

  • REQUIRED

MINIMUM VALID FORM: { "action": "create", "createObj": { "title": "Quick Survey", "items": [ { "id": "welcome", "type": "start_screen", "title": "Welcome!", "buttonText": "Start" }, { "id": "name", "type": "short_text", "title": "What's your name?", "required": true }, { "id": "thanks", "type": "end_screen", "title": "Thank you!" } ] } }

CORE DESIGN PRINCIPLES:

1. Conversational & Clear • Write questions as natural speech: "What's your email?" not "Email" • Explain WHY you're asking (use description field for sensitive info)

2. Minimize Friction • Only ask truly necessary questions • Make fields optional by default (required: false) • Only require what's absolutely needed

3. Build Trust Progressively • Easy questions first (name, preferences) • Detailed questions middle (ratings, feedback) • Sensitive questions last (phone, age) • Never start with "What's your phone number?"

4. Smart Structure • Start with start_screen (welcome)

  • MANDATORY

• End with end_screen (thank you)

  • MANDATORY

• Group related questions together

⚠️ FIELD USAGE RULES:

Only use applicable fields for each type:

  • title, description → All types
  • required → Question types only (not screens)
  • placeholder → ONLY: short_text, long_text, email, website, number
  • options → ONLY: radio, multiple_choice (REQUIRED for these)
  • buttonText → ONLY: start_screen
  • redirectUrl → ONLY: end_screen

CORRECT: {"type": "radio", "title": "...", "options": [...]} {"type": "email", "title": "...", "placeholder": "..."}

WRONG: {"type": "radio", "placeholder": "..."} // Wrong fields! {"type": "email", "options": [...]} // Email doesn't use options!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔧 UPDATE ACTION:

Update an existing form using atomic operations.

OPERATION TYPES:

  • add_item: Insert a new item at specified position
  • update_item: Modify properties of existing item (can modify multiple properties simultaneously)
  • remove_item: Delete specified item
  • reorder_item: Move item to new position

⚠️ REMEMBER: When user refers to "question 1", "第一题", etc., count ONLY question items (skip start_screen/end_screen).

When updating, only include fields that apply to the specific item type being modified.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔍 OPEN ACTION:

Open an existing form in the editor for viewing or editing.

Simply provide the formId from context (currentForm.formId).

Parameters (1 required, 3 optional)
Required
actionstring

Action type: - 'create': Create a new form (requires createObj) - 'update': Update an existing form (requires updateObj) - 'open': Open an existing form (requires openObj) ⚠️ IMPORTANT: Only include the object that matches your action. Do NOT include createObj/updateObj when action is 'open', etc.

Options:createupdateopen
Optional
createObjobject

Create form object. REQUIRED when action is 'create'. Contains title, description (optional), and items. ⚠️ DO NOT include this field when action is 'update' or 'open'.

openObjobject

Open form object. REQUIRED when action is 'open'. Contains formId. ⚠️ DO NOT include this field when action is 'create' or 'update'.

updateObjobject

Update form object. REQUIRED when action is 'update'. Contains formId, description, and operations. ⚠️ DO NOT include this field when action is 'create' or 'open'.

Query-form-data

query-form-data
Full Description

Execute multiple SQL queries to retrieve form submission data. Supports SELECT statements and aggregate functions (COUNT, AVG, SUM, etc.) for statistical analysis.

Usage: Call this tool when user wants to query form submission data or perform statistical analysis. Supports executing multiple queries in a single call for comprehensive analysis.

Important notes: 1. Must call get_form_schema first to get table structure before calling this tool 2. Only SELECT queries are supported, UPDATE, DELETE, etc. are not allowed 3. Table name format: form_submissions_{formId} 4. Column name format: item_{itemId} 5. System columns: id (record ID), submitted_at (submission timestamp)

Data volume limits:

  • Each query returns maximum 100 records by default
  • If isComplete=false in any result, that query's data is incomplete; recommend using aggregate queries instead of raw row queries

SQL construction recommendations:

  • Count total: SELECT COUNT(*) as total FROM form_submissions_{formId}
  • Group statistics: SELECT item_xxx, COUNT(*) as count FROM ... GROUP BY item_xxx
  • Time trends: SELECT DATE(submitted_at) as date, COUNT(*) FROM ... GROUP BY date
  • Conditional filtering: SELECT * FROM ... WHERE item_xxx = 'value' LIMIT 100
Parameters (2 required)
Required
formIdstring

The form ID to query against.

queriesarray

Array of SQL queries to execute. Each query should have a clear purpose and corresponding SQL statement. Multiple queries can be executed in one call for efficient batch analysis.

Share-form

share-form
Full Description

Share a form with a specific formId.

⚠️ MANDATORY USAGE RULE: You MUST call this tool BEFORE sharing the form. You cannot share the form without knowing the exact formId.

Parameters (1 required)
Required
formIdstring

Form ID. Pass the formId of whichever form's data you want to share.