Skip to content

Commit fb94c75

Browse files
committed
feat(google-tasks): add Google Tasks integration
1 parent 67f8a68 commit fb94c75

File tree

20 files changed

+1310
-7
lines changed

20 files changed

+1310
-7
lines changed

apps/docs/components/icons.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1302,6 +1302,25 @@ export function GoogleCalendarIcon(props: SVGProps<SVGSVGElement>) {
13021302
)
13031303
}
13041304

1305+
export function GoogleTasksIcon(props: SVGProps<SVGSVGElement>) {
1306+
return (
1307+
<svg
1308+
{...props}
1309+
viewBox='0 0 527.1 500'
1310+
xmlns='http://www.w3.org/2000/svg'
1311+
>
1312+
<polygon
1313+
fill='#0066DA'
1314+
points='410.4,58.3 368.8,81.2 348.2,120.6 368.8,168.8 407.8,211 450,187.5 475.9,142.8 450,87.5'
1315+
/>
1316+
<path
1317+
fill='#2684FC'
1318+
d='M249.3,219.4l98.9-98.9c29.1,22.1,50.5,53.8,59.6,90.4L272.1,346.7c-12.2,12.2-32,12.2-44.2,0l-91.5-91.5 c-9.8-9.8-9.8-25.6,0-35.3l39-39c9.8-9.8,25.6-9.8,35.3,0L249.3,219.4z M519.8,63.6l-39.7-39.7c-9.7-9.7-25.6-9.7-35.3,0 l-34.4,34.4c27.5,23,49.9,51.8,65.5,84.5l43.9-43.9C529.6,89.2,529.6,73.3,519.8,63.6z M412.5,250c0,89.8-72.8,162.5-162.5,162.5 S87.5,339.8,87.5,250S160.2,87.5,250,87.5c36.9,0,70.9,12.3,98.2,33.1l62.2-62.2C367,21.9,311.1,0,250,0C111.9,0,0,111.9,0,250 s111.9,250,250,250s250-111.9,250-250c0-38.3-8.7-74.7-24.1-107.2L407.8,211C410.8,223.5,412.5,236.6,412.5,250z'
1319+
/>
1320+
</svg>
1321+
)
1322+
}
1323+
13051324
export function SupabaseIcon(props: SVGProps<SVGSVGElement>) {
13061325
const id = useId()
13071326
const gradient0 = `supabase_paint0_${id}`

apps/docs/components/ui/icon-mapping.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ import {
3838
EyeIcon,
3939
FirecrawlIcon,
4040
FirefliesIcon,
41-
GithubIcon,
4241
GitLabIcon,
42+
GithubIcon,
4343
GmailIcon,
4444
GongIcon,
4545
GoogleBooksIcon,
@@ -52,6 +52,7 @@ import {
5252
GoogleMapsIcon,
5353
GoogleSheetsIcon,
5454
GoogleSlidesIcon,
55+
GoogleTasksIcon,
5556
GoogleVaultIcon,
5657
GrafanaIcon,
5758
GrainIcon,
@@ -72,9 +73,9 @@ import {
7273
LinearIcon,
7374
LinkedInIcon,
7475
LinkupIcon,
76+
MailServerIcon,
7577
MailchimpIcon,
7678
MailgunIcon,
77-
MailServerIcon,
7879
Mem0Icon,
7980
MicrosoftDataverseIcon,
8081
MicrosoftExcelIcon,
@@ -107,6 +108,8 @@ import {
107108
ResendIcon,
108109
RevenueCatIcon,
109110
S3Icon,
111+
SQSIcon,
112+
STTIcon,
110113
SalesforceIcon,
111114
SearchIcon,
112115
SendgridIcon,
@@ -118,19 +121,17 @@ import {
118121
SimilarwebIcon,
119122
SlackIcon,
120123
SmtpIcon,
121-
SQSIcon,
122124
SshIcon,
123-
STTIcon,
124125
StagehandIcon,
125126
StripeIcon,
126127
SupabaseIcon,
128+
TTSIcon,
127129
TavilyIcon,
128130
TelegramIcon,
129131
TextractIcon,
130132
TinybirdIcon,
131133
TranslateIcon,
132134
TrelloIcon,
133-
TTSIcon,
134135
TwilioIcon,
135136
TypeformIcon,
136137
UpstashIcon,
@@ -141,11 +142,11 @@ import {
141142
WhatsAppIcon,
142143
WikipediaIcon,
143144
WordpressIcon,
144-
xIcon,
145145
YouTubeIcon,
146146
ZendeskIcon,
147147
ZepIcon,
148148
ZoomIcon,
149+
xIcon,
149150
} from '@/components/icons'
150151

151152
type IconComponent = ComponentType<SVGProps<SVGSVGElement>>
@@ -197,6 +198,7 @@ export const blockTypeToIconMap: Record<string, IconComponent> = {
197198
google_search: GoogleIcon,
198199
google_sheets_v2: GoogleSheetsIcon,
199200
google_slides_v2: GoogleSlidesIcon,
201+
google_tasks: GoogleTasksIcon,
200202
google_vault: GoogleVaultIcon,
201203
grafana: GrafanaIcon,
202204
grain: GrainIcon,
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
---
2+
title: Google Tasks
3+
description: Manage Google Tasks
4+
---
5+
6+
import { BlockInfoCard } from "@/components/ui/block-info-card"
7+
8+
<BlockInfoCard
9+
type="google_tasks"
10+
color="#E0E0E0"
11+
/>
12+
13+
## Usage Instructions
14+
15+
Integrate Google Tasks into your workflow. Create, read, update, delete, and list tasks and task lists.
16+
17+
18+
19+
## Tools
20+
21+
### `google_tasks_create`
22+
23+
Create a new task in a Google Tasks list
24+
25+
#### Input
26+
27+
| Parameter | Type | Required | Description |
28+
| --------- | ---- | -------- | ----------- |
29+
| `taskListId` | string | No | Task list ID \(defaults to primary task list "@default"\) |
30+
| `title` | string | Yes | Title of the task \(max 1024 characters\) |
31+
| `notes` | string | No | Notes/description for the task \(max 8192 characters\) |
32+
| `due` | string | No | Due date in RFC 3339 format \(e.g., 2025-06-03T00:00:00.000Z\) |
33+
| `status` | string | No | Task status: "needsAction" or "completed" |
34+
| `parent` | string | No | Parent task ID to create this task as a subtask. Omit for top-level tasks. |
35+
| `previous` | string | No | Previous sibling task ID to position after. Omit to place first among siblings. |
36+
37+
#### Output
38+
39+
| Parameter | Type | Description |
40+
| --------- | ---- | ----------- |
41+
| `id` | string | Task ID |
42+
| `title` | string | Task title |
43+
| `notes` | string | Task notes |
44+
| `status` | string | Task status \(needsAction or completed\) |
45+
| `due` | string | Due date |
46+
| `updated` | string | Last modification time |
47+
| `selfLink` | string | URL for the task |
48+
| `webViewLink` | string | Link to task in Google Tasks UI |
49+
| `parent` | string | Parent task ID |
50+
| `position` | string | Position among sibling tasks |
51+
| `completed` | string | Completion date |
52+
| `deleted` | boolean | Whether the task is deleted |
53+
54+
### `google_tasks_list`
55+
56+
List all tasks in a Google Tasks list
57+
58+
#### Input
59+
60+
| Parameter | Type | Required | Description |
61+
| --------- | ---- | -------- | ----------- |
62+
| `taskListId` | string | No | Task list ID \(defaults to primary task list "@default"\) |
63+
| `maxResults` | number | No | Maximum number of tasks to return \(default 20, max 100\) |
64+
| `pageToken` | string | No | Token for pagination |
65+
| `showCompleted` | boolean | No | Whether to show completed tasks \(default true\) |
66+
| `showDeleted` | boolean | No | Whether to show deleted tasks \(default false\) |
67+
| `showHidden` | boolean | No | Whether to show hidden tasks \(default false\) |
68+
| `dueMin` | string | No | Lower bound for due date filter \(RFC 3339 timestamp\) |
69+
| `dueMax` | string | No | Upper bound for due date filter \(RFC 3339 timestamp\) |
70+
| `completedMin` | string | No | Lower bound for task completion date \(RFC 3339 timestamp\) |
71+
| `completedMax` | string | No | Upper bound for task completion date \(RFC 3339 timestamp\) |
72+
| `updatedMin` | string | No | Lower bound for last modification time \(RFC 3339 timestamp\) |
73+
74+
#### Output
75+
76+
| Parameter | Type | Description |
77+
| --------- | ---- | ----------- |
78+
| `tasks` | json | Array of tasks with id, title, notes, status, due, updated, and more |
79+
| `nextPageToken` | string | Token for retrieving the next page of results |
80+
81+
### `google_tasks_get`
82+
83+
Retrieve a specific task by ID from a Google Tasks list
84+
85+
#### Input
86+
87+
| Parameter | Type | Required | Description |
88+
| --------- | ---- | -------- | ----------- |
89+
| `taskListId` | string | No | Task list ID \(defaults to primary task list "@default"\) |
90+
| `taskId` | string | Yes | The ID of the task to retrieve |
91+
92+
#### Output
93+
94+
| Parameter | Type | Description |
95+
| --------- | ---- | ----------- |
96+
| `id` | string | Task ID |
97+
| `title` | string | Task title |
98+
| `notes` | string | Task notes |
99+
| `status` | string | Task status \(needsAction or completed\) |
100+
| `due` | string | Due date |
101+
| `updated` | string | Last modification time |
102+
| `selfLink` | string | URL for the task |
103+
| `webViewLink` | string | Link to task in Google Tasks UI |
104+
| `parent` | string | Parent task ID |
105+
| `position` | string | Position among sibling tasks |
106+
| `completed` | string | Completion date |
107+
| `deleted` | boolean | Whether the task is deleted |
108+
109+
### `google_tasks_update`
110+
111+
Update an existing task in a Google Tasks list
112+
113+
#### Input
114+
115+
| Parameter | Type | Required | Description |
116+
| --------- | ---- | -------- | ----------- |
117+
| `taskListId` | string | No | Task list ID \(defaults to primary task list "@default"\) |
118+
| `taskId` | string | Yes | The ID of the task to update |
119+
| `title` | string | No | New title for the task |
120+
| `notes` | string | No | New notes for the task |
121+
| `due` | string | No | New due date in RFC 3339 format |
122+
| `status` | string | No | New status: "needsAction" or "completed" |
123+
124+
#### Output
125+
126+
| Parameter | Type | Description |
127+
| --------- | ---- | ----------- |
128+
| `id` | string | Task ID |
129+
| `title` | string | Task title |
130+
| `notes` | string | Task notes |
131+
| `status` | string | Task status \(needsAction or completed\) |
132+
| `due` | string | Due date |
133+
| `updated` | string | Last modification time |
134+
| `selfLink` | string | URL for the task |
135+
| `webViewLink` | string | Link to task in Google Tasks UI |
136+
| `parent` | string | Parent task ID |
137+
| `position` | string | Position among sibling tasks |
138+
| `completed` | string | Completion date |
139+
| `deleted` | boolean | Whether the task is deleted |
140+
141+
### `google_tasks_delete`
142+
143+
Delete a task from a Google Tasks list
144+
145+
#### Input
146+
147+
| Parameter | Type | Required | Description |
148+
| --------- | ---- | -------- | ----------- |
149+
| `taskListId` | string | No | Task list ID \(defaults to primary task list "@default"\) |
150+
| `taskId` | string | Yes | The ID of the task to delete |
151+
152+
#### Output
153+
154+
| Parameter | Type | Description |
155+
| --------- | ---- | ----------- |
156+
| `taskId` | string | Deleted task ID |
157+
| `deleted` | boolean | Whether deletion was successful |
158+
159+
### `google_tasks_list_task_lists`
160+
161+
#### Input
162+
163+
| Parameter | Type | Required | Description |
164+
| --------- | ---- | -------- | ----------- |
165+
166+
#### Output
167+
168+
| Parameter | Type | Description |
169+
| --------- | ---- | ----------- |
170+
| `id` | string | Task ID |
171+
| `title` | string | Task title |
172+
| `notes` | string | Task notes |
173+
| `status` | string | Task status |
174+
| `due` | string | Due date |
175+
| `updated` | string | Last modification time |
176+
| `selfLink` | string | URL for the task |
177+
| `webViewLink` | string | Link to task in Google Tasks UI |
178+
| `parent` | string | Parent task ID |
179+
| `position` | string | Position among sibling tasks |
180+
| `completed` | string | Completion date |
181+
| `deleted` | boolean | Whether the task is deleted |
182+
| `tasks` | json | Array of tasks \(list operation\) |
183+
| `taskLists` | json | Array of task lists \(list_task_lists operation\) |
184+
| `taskId` | string | Deleted task ID \(delete operation\) |
185+
| `nextPageToken` | string | Token for next page of results |
186+
187+

apps/docs/content/docs/en/tools/meta.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
"google_search",
4848
"google_sheets",
4949
"google_slides",
50+
"google_tasks",
5051
"google_vault",
5152
"grafana",
5253
"grain",
@@ -146,4 +147,4 @@
146147
"zep",
147148
"zoom"
148149
]
149-
}
150+
}

apps/sim/app/workspace/[workspaceId]/w/[workflowId]/components/panel/components/editor/components/sub-block/components/credential-selector/components/oauth-required-modal.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ const SCOPE_DESCRIPTIONS: Record<string, string> = {
4040
'https://www.googleapis.com/auth/drive.file': 'View and manage Google Drive files',
4141
'https://www.googleapis.com/auth/drive': 'Access all Google Drive files',
4242
'https://www.googleapis.com/auth/calendar': 'View and manage calendar',
43+
'https://www.googleapis.com/auth/tasks': 'Create, read, update, and delete Google Tasks',
4344
'https://www.googleapis.com/auth/userinfo.email': 'View email address',
4445
'https://www.googleapis.com/auth/userinfo.profile': 'View basic profile info',
4546
'https://www.googleapis.com/auth/forms.body': 'View and manage Google Forms',

0 commit comments

Comments
 (0)