sim
sim copied to clipboard
feat: add Google Drive Get File and Notion Create Page in Database Operations
Summary
- add Google Drive "Get File" and Notion "Create Page in Database" operations to enable complete workflow automation for AI agents processing files and outputting results to Notion databases.
fix: #1939
Type of Change
- [x] New feature
Testing
- changes compile successfully with no TypeScript errors or linting issues. Implementation follows existing code patterns and integrates with current workflow system without breaking existing functionality.
Checklist
- [x] Code follows project style guidelines
- [x] Self-reviewed my changes
- [x] No new warnings introduced
- [x] I confirm that I have read and agree to the terms outlined in the CLA
@naaa760 is attempting to deploy a commit to the Sim Team on Vercel.
A member of the Team first needs to authorize it.
Greptile Summary
- Added Google Drive "Get File" operation with file selector UI and export format options for Google Workspace files
- Added Notion "Create Page in Database" operation enabling direct page creation in databases using
database_idparent type - Modified
notion_create_pagetool to acceptparentTypeparameter distinguishing between page and database parents
Confidence Score: 3/5
- PR has a critical logic issue in database page creation that may cause runtime failures
- Google Drive implementation is solid (score 5/5), but Notion database page creation has a critical flaw - it assumes the title property is always named "title", when databases can have custom property names like "Name", "Task", etc. This will cause API errors when creating pages in databases with non-standard title property names.
apps/sim/tools/notion/create_page.tsrequires attention for database title property handling
Important Files Changed
| Filename | Overview |
|---|---|
| apps/sim/tools/notion/create_page.ts | Extended to support database_id parent type, but title property handling assumes hardcoded "title" name which may not match database schema |
Sequence Diagram
sequenceDiagram
participant User
participant Workflow
participant GoogleDrive
participant NotionDB
User->>Workflow: Trigger workflow
Workflow->>GoogleDrive: Get File operation
GoogleDrive-->>Workflow: Return file content
Workflow->>NotionDB: Create Page in Database
NotionDB-->>Workflow: Page created
Workflow-->>User: Workflow complete