RedPlanetHQ/core

New Integration: Tally

開放

#466 建立於 2026年2月24日

 (0 則留言) (0 個反應) (0 位負責人)TypeScript (184 個分叉)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

倉庫指標

星標
 (1,930 顆星)
PR 合併指標
 (平均合併 3小時 2分鐘) (30 天內合併 10 個 PR)

描述

Description

Add Tally integration to sync form submissions, form metadata, and response data into CORE.

Reference Implementations

Existing Integrations (use as templates)

  • integrations/hubspot/ - Similar form/CRM data system
  • integrations/linear/ - Project management integration
  • integrations/slack/ - For reference

Required Files Structure

integrations/tally/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Tally API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Tally API Integration

OAuth Setup

  • Use OAuth 2.0 authorization
  • The Tally API is currently in beta and available for free to all Tally users
  • Base URL: https://api.tally.so
  • Developer docs: https://developers.tally.so/

Key Endpoints

  • POST /forms - Create a form
  • GET /forms - List forms
  • GET /forms/{formId} - Get form details
  • GET /forms/{formId}/submissions - Get form submissions
  • GET /forms/{formId}/fields - Get form fields
  • DELETE /forms/{formId}/submissions/{submissionId} - Delete a submission

Events to Track

  1. Form Submissions - New form responses, updated responses
  2. Form Management - Form created, form updated, form published
  3. Webhook Events - Real-time notifications for form submissions via JavaScript event listeners

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 flow in account-create.ts
  • Create API utilities in utils.ts for Tally API calls
  • Implement sync logic in schedule.ts for form submissions and metadata
  • Convert form events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Tally API is in beta; monitor for breaking changes
  • Each form block requires a unique UUID (use standard UUID library)
  • Supports JavaScript event listeners for real-time form interaction events (Standard embed, Popup, Custom domain)
  • API follows RESTful conventions with JSON responses

Resources

Labels

enhancement, integration, new-feature

貢獻者指南