Forms

Tally Webhook MCP Server

Connect your account, then chat with AI to run tools.

Connect Tally webhooks to MCPBundles and read form responses in chat.

Best forOperationsResearchNo-Code Builders

Try this workflow

Last form answers

Walk data.fields on the latest Tally submission — for each question show label, type, and the resolved answer value.

Managed
4 tools
Agent guide included

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

What you can do with Tally Webhook

Built for

Operations, Research Teams, No-Code Builders

Example workflows

Last form answers

Interprets nested form response JSON from export.json.

Try this

Walk data.fields on the latest Tally submission — for each question show label, type, and the resolved answer value.

Duplicate responses

Dedupes stored payloads using stable ids.

Try this

List recent submissions and flag any that share the same data.responseId or data.submissionId.

Context to know first

How do I connect Tally deliveries to MCPBundles?

Save a connection on MCPBundles, copy the hosted ingest URL from the credential panel, and paste it into Tally where webhook integrations are configured on the form. Your agent reads stored deliveries — latest, history, and content — in chat.

Can an agent trigger a new delivery?

No. Ingest is read-only. Data arrives when the upstream system sends it; agents query what already landed.

AI Skill
SKILL.md

Domain knowledge for Tally Webhook — workflow patterns, data models, and gotchas for your AI agent.

Tally Webhook

Each stored delivery is one Tally FORM_RESPONSE JSON body — one form submission. Tools read what already landed; there is no pull API and no way to submit or edit forms from here.

Tally payload shape (export.json)

Top level:

  • eventType — always FORM_RESPONSE (the only event type).
  • createdAt — when Tally recorded the submission (ISO 8601).
  • eventId — delivery id when present; useful when comparing retries.
  • data — submission envelope:
    • responseId / submissionId — stable ids for the same answer; prefer these when deduping.
    • respondentId, formId, formName — who submitted and which form.
    • fields — array of answered questions; answers live here, not at the top level.

Each element of data.fields:

  • key — stable question id (often question_*); map answers by key when labels repeat.
  • label — question title shown to the respondent.
  • type — input kind (INPUT_TEXT, INPUT_EMAIL, TEXTAREA, DROPDOWN, MULTIPLE_CHOICE, CHECKBOXES, LINEAR_SCALE, FILE_UPLOAD, HIDDEN_FIELDS, PAYMENT, and others).
  • value — submitted answer; shape depends on type:
    • Text-like types — string.
    • Choice types — often an array of option ids; pair with options (id + text) for human-readable labels.
    • FILE_UPLOAD — array of { name, url, id } objects (signed URLs; may expire).
    • HIDDEN_FIELDS — string values (UTM params, referrer tokens, prefill data).
  • options — present on choice fields; translate value ids to display text.

Field keys, labels, types, and option sets vary per form — inspect the latest JSON rather than assuming a fixed schema.

First moves

  1. Latest report — default for “what did the last respondent submit” or summarising recent leads.
  2. Report freshness — compare source.captured_at (when ingest stored the POST) with export.json.createdAt (when Tally recorded the submission).
  3. Recent reports — scan history for volume, duplicate responseIds, or submissions from a date range.
  4. One report by id — after listing, when the user points at a specific delivery.

Stored response shape

  • export.json — parsed Tally webhook object (structure above).
  • export.text — raw body when JSON is large or parsing fell back.
  • sourcecaptured_at, filename, format, connection purpose.

Walk data.fields to answer field-level questions. For choice questions, resolve option ids through options before quoting labels to the user.

Operational order

  1. Start with the latest report — do not guess a report id.
  2. If captured_at is older than expected, say so — submissions arrive when respondents submit upstream.
  3. List recent reports only for history, duplicate suspicion, or explicit compare-by-date asks.
  4. Read ## This connection in the skill supplement for form-specific field notes.

Gotchas

  • Read-only — cannot submit forms, edit responses, or replay webhooks from here.
  • Answers in data.fields — do not look for answers at the top level of the JSON.
  • Variable forms — each connection may receive a different form; keys and labels differ.
  • Choice valuesvalue may be option ids, not display text; use options.
  • Retries / duplicates — the same submission may land more than once; compare data.responseId or data.submissionId across recent deliveries.
  • Hidden fields — UTM and tracking values often appear as HIDDEN_FIELDS entries with generic labels like hidden_fields.
  • File uploads — URLs in FILE_UPLOAD values may be time-limited; treat as snapshots at capture time.
  • Empty — no stored reports means nothing has arrived yet; say no submission is available.

Tools in this Server (4)

Tally Wh Latest

Return the most recently stored report — tabular rows, raw text, or JSON depending on format. Default starting point for current report questions.

Tally Wh List

List recent stored reports — ids, capture time, filename, and format. Follow with latest report or get report for full content.

Tally Wh Report

Return one stored report by report_id — full content with the same source/export envelope as latest report.

Tally Wh Status

Connection status — whether any reports have landed, when the last file arrived, filename, and stored report count. Includes the ingest URL only when ...

Frequently Asked Questions

How do I connect Tally deliveries to MCPBundles?

Save a connection on MCPBundles, copy the hosted ingest URL from the credential panel, and paste it into Tally where webhook integrations are configured on the form. Your agent reads stored deliveries — latest, history, and content — in chat.

Can an agent trigger a new delivery?

No. Ingest is read-only. Data arrives when the upstream system sends it; agents query what already landed.

How do I connect Tally Webhook to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/tally-webhook. Authentication is handled automatically.

How many tools does Tally Webhook provide?

Tally Webhook provides 4 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Tally Webhook require?

Tally Webhook uses API Key. Tally Webhook requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Tally Webhook to any MCP client in minutes

MCP URL
https://mcp.mcpbundles.com/bundle/tally-webhook

One-click install:

The link prefills the Add custom connector dialog — you still review the values and click Add, then Connect to complete OAuth.

Or add manually

  1. Open claude.ai → Settings → Connectors.
  2. Click the + button and choose Add custom connector.
  3. Set Name to Tally Webhook and paste the MCP URL into Remote MCP server URL.
  4. Click Add. Tally Webhook will appear under Not connected — select it and click Connect to complete OAuth.
Name: Tally Webhook
Remote MCP server URL: https://mcp.mcpbundles.com/bundle/tally-webhook
Authentication: OAuth

Custom connectors at claude.ai require a paid Claude plan (Pro, Max, Team, or Enterprise).

Ready to use Tally Webhook?

Sign in to connect your credentials and start running tools from the chat.