返回顶部
t

tally

Create and edit Tally forms via API. Use when building surveys, feedback forms, or questionnaires programmatically. Supports all question types including text inputs, multiple choice, checkboxes, ratings (via workaround), and more.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,770
下载量
1
收藏
概述
安装方式
版本历史

tally

# Tally Forms API Create and edit Tally.so forms programmatically via their REST API. ## Authentication ```bash TALLY_KEY=$(cat ~/.config/tally/api_key) ``` ## Endpoints | Action | Method | Endpoint | |--------|--------|----------| | List forms | GET | `https://api.tally.so/forms` | | Get form | GET | `https://api.tally.so/forms/{id}` | | Update form | PATCH | `https://api.tally.so/forms/{id}` | | Get submissions | GET | `https://api.tally.so/forms/{id}/submissions` | ## Block Structure Tally forms are composed of **blocks**. Questions require **multiple blocks grouped by `groupUuid`**: ```json { "uuid": "q1-title", "type": "TITLE", "groupUuid": "group-q1", "groupType": "QUESTION", "payload": { "safeHTMLSchema": [["Question text here", [["tag", "span"]]]] } }, { "uuid": "q1-input", "type": "INPUT_TEXT", "groupUuid": "group-q1", "groupType": "QUESTION", "payload": {"isRequired": true} } ``` **Key:** TITLE block + input block must share the same `groupUuid`. ## Block Types ### Structure - `FORM_TITLE` - Form title and submit button - `TEXT` - Paragraph text - `HEADING_1`, `HEADING_2`, `HEADING_3` - Section headers - `TITLE` - Question label (inside QUESTION group) - `DIVIDER` - Separator line ### Inputs - `INPUT_TEXT` - Short text - `INPUT_NUMBER` - Number - `INPUT_EMAIL` - Email - `INPUT_DATE` - Date picker - `INPUT_PHONE_NUMBER` - Phone - `TEXTAREA` - Long text ### Selection - `MULTIPLE_CHOICE_OPTION` - Single select (groupType: MULTIPLE_CHOICE) - `CHECKBOX` - Multi select (groupType: CHECKBOXES) - `DROPDOWN_OPTION` - Dropdown option ### ⚠️ Types that don't render well via API - `RATING` - Stars don't display - `LINEAR_SCALE` - Scale doesn't display **Workaround:** Use `MULTIPLE_CHOICE_OPTION` with star emojis. ## Examples ### Form title ```json { "uuid": "title-001", "type": "FORM_TITLE", "groupUuid": "group-title", "groupType": "FORM_TITLE", "payload": { "title": "My Survey", "button": {"label": "Submit"} } } ``` ### Section header ```json { "uuid": "sec1-head", "type": "HEADING_2", "groupUuid": "group-sec1", "groupType": "TEXT", "payload": { "safeHTMLSchema": [["📊 Section Title", [["tag", "span"]]]] } } ``` ### Text input question ```json { "uuid": "q1-title", "type": "TITLE", "groupUuid": "group-q1", "groupType": "QUESTION", "payload": { "safeHTMLSchema": [["What is your name?", [["tag", "span"]]]] } }, { "uuid": "q1-input", "type": "INPUT_TEXT", "groupUuid": "group-q1", "groupType": "QUESTION", "payload": {"isRequired": true} } ``` ### Multiple choice (single answer) ```json { "uuid": "q2-title", "type": "TITLE", "groupUuid": "group-q2", "groupType": "QUESTION", "payload": { "safeHTMLSchema": [["How did you hear about us?", [["tag", "span"]]]] } }, { "uuid": "q2-opt1", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q2", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 0, "isFirst": true, "isLast": false, "text": "Social media"} }, { "uuid": "q2-opt2", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q2", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 1, "isFirst": false, "isLast": true, "text": "Friend referral"} } ``` ### Checkboxes (multiple answers) ```json { "uuid": "q3-title", "type": "TITLE", "groupUuid": "group-q3", "groupType": "QUESTION", "payload": { "safeHTMLSchema": [["What features interest you?", [["tag", "span"]]]] } }, { "uuid": "q3-cb1", "type": "CHECKBOX", "groupUuid": "group-q3", "groupType": "CHECKBOXES", "payload": {"index": 0, "isFirst": true, "isLast": false, "text": "Feature A"} }, { "uuid": "q3-cb2", "type": "CHECKBOX", "groupUuid": "group-q3", "groupType": "CHECKBOXES", "payload": {"index": 1, "isFirst": false, "isLast": true, "text": "Feature B"} } ``` ### Rating scale (workaround with stars) ```json { "uuid": "q4-title", "type": "TITLE", "groupUuid": "group-q4", "groupType": "QUESTION", "payload": { "safeHTMLSchema": [["How would you rate our service?", [["tag", "span"]]]] } }, { "uuid": "q4-opt1", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q4", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 0, "isFirst": true, "isLast": false, "text": "⭐ Poor"} }, { "uuid": "q4-opt2", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q4", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 1, "isFirst": false, "isLast": false, "text": "⭐⭐ Fair"} }, { "uuid": "q4-opt3", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q4", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 2, "isFirst": false, "isLast": false, "text": "⭐⭐⭐ Good"} }, { "uuid": "q4-opt4", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q4", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 3, "isFirst": false, "isLast": false, "text": "⭐⭐⭐⭐ Very good"} }, { "uuid": "q4-opt5", "type": "MULTIPLE_CHOICE_OPTION", "groupUuid": "group-q4", "groupType": "MULTIPLE_CHOICE", "payload": {"isRequired": true, "index": 4, "isFirst": false, "isLast": true, "text": "⭐⭐⭐⭐⭐ Excellent"} } ``` ## Update Command ```bash TALLY_KEY=$(cat ~/.config/tally/api_key) # Backup first curl -s "https://api.tally.so/forms/{ID}" \ -H "Authorization: Bearer $TALLY_KEY" > /tmp/backup.json # Update curl -s "https://api.tally.so/forms/{ID}" \ -X PATCH \ -H "Authorization: Bearer $TALLY_KEY" \ -H "Content-Type: application/json" \ -d @/tmp/form.json # Verify curl -s "https://api.tally.so/forms/{ID}" \ -H "Authorization: Bearer $TALLY_KEY" | jq '.blocks | length' ``` ## Best Practices 1. **Always backup** before modifying a form 2. **Use descriptive UUIDs** (q1-title, q1-input, sec1-head) 3. **Section titles:** Use lowercase with emoji prefix (📊 General feedback) 4. **For ratings:** Use MULTIPLE_CHOICE with ⭐ emojis instead of RATING type 5. **Verify after update:** Check block count matches expected

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 tally-1776333793 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 tally-1776333793 技能

通过命令行安装

skillhub install tally-1776333793

下载 Zip 包

⬇ 下载 tally v1.0.0

文件大小: 2.36 KB | 发布时间: 2026-4-17 15:16

v1.0.0 最新 2026-4-17 15:16
Initial release: Create and edit Tally forms via API for building surveys, feedback forms, or questionnaires.

- Supports all Tally block and question types, including workarounds for ratings.
- Includes authentication details and all major form endpoints (list, get, update, submissions).
- Documents block structure, required groupings, and provides usage examples for each question type.
- Lists best practices for safe updates and robust form design.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部