enhancementgood first issueintegrationnew-featurenew-integration
Métriques du dépôt
- Stars
- (1 930 étoiles)
- Métriques de merge PR
- (Métriques PR en attente)
Description
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 systemintegrations/linear/- Project management integrationintegrations/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 formGET /forms- List formsGET /forms/{formId}- Get form detailsGET /forms/{formId}/submissions- Get form submissionsGET /forms/{formId}/fields- Get form fieldsDELETE /forms/{formId}/submissions/{submissionId}- Delete a submission
Events to Track
- Form Submissions - New form responses, updated responses
- Form Management - Form created, form updated, form published
- Webhook Events - Real-time notifications for form submissions via JavaScript event listeners
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts - Create API utilities in
utils.tsfor Tally API calls - Implement sync logic in
schedule.tsfor 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