enhancementgood first issueintegrationnew-featurenew-integration
Repository metrics
- Stars
- (1,930 stars)
- PR merge metrics
- (Avg merge 3h 2m) (10 merged PRs in 30d)
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