universal-mcp-applications 0.1.21__py3-none-any.whl → 0.1.22__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of universal-mcp-applications might be problematic. Click here for more details.

Files changed (78) hide show
  1. universal_mcp/applications/BEST_PRACTICES.md +166 -0
  2. universal_mcp/applications/airtable/app.py +0 -1
  3. universal_mcp/applications/apollo/app.py +0 -1
  4. universal_mcp/applications/aws_s3/app.py +40 -39
  5. universal_mcp/applications/browser_use/README.md +1 -0
  6. universal_mcp/applications/browser_use/__init__.py +0 -0
  7. universal_mcp/applications/browser_use/app.py +76 -0
  8. universal_mcp/applications/calendly/app.py +125 -125
  9. universal_mcp/applications/canva/app.py +95 -99
  10. universal_mcp/applications/confluence/app.py +0 -1
  11. universal_mcp/applications/contentful/app.py +4 -5
  12. universal_mcp/applications/domain_checker/app.py +11 -15
  13. universal_mcp/applications/e2b/app.py +4 -4
  14. universal_mcp/applications/elevenlabs/app.py +18 -15
  15. universal_mcp/applications/exa/app.py +17 -17
  16. universal_mcp/applications/falai/app.py +28 -29
  17. universal_mcp/applications/file_system/app.py +9 -9
  18. universal_mcp/applications/firecrawl/app.py +36 -36
  19. universal_mcp/applications/fireflies/app.py +55 -56
  20. universal_mcp/applications/fpl/app.py +49 -50
  21. universal_mcp/applications/ghost_content/app.py +0 -1
  22. universal_mcp/applications/github/app.py +41 -43
  23. universal_mcp/applications/google_calendar/app.py +40 -39
  24. universal_mcp/applications/google_docs/app.py +56 -56
  25. universal_mcp/applications/google_drive/app.py +212 -215
  26. universal_mcp/applications/google_gemini/app.py +1 -5
  27. universal_mcp/applications/google_mail/app.py +91 -90
  28. universal_mcp/applications/google_searchconsole/app.py +29 -29
  29. universal_mcp/applications/google_sheet/app.py +115 -115
  30. universal_mcp/applications/hashnode/README.md +6 -3
  31. universal_mcp/applications/hashnode/app.py +174 -25
  32. universal_mcp/applications/http_tools/app.py +10 -11
  33. universal_mcp/applications/hubspot/__init__.py +1 -1
  34. universal_mcp/applications/hubspot/api_segments/api_segment_base.py +36 -7
  35. universal_mcp/applications/hubspot/api_segments/crm_api.py +368 -368
  36. universal_mcp/applications/hubspot/api_segments/marketing_api.py +115 -115
  37. universal_mcp/applications/hubspot/app.py +131 -72
  38. universal_mcp/applications/jira/app.py +0 -1
  39. universal_mcp/applications/linkedin/app.py +20 -20
  40. universal_mcp/applications/markitdown/app.py +10 -5
  41. universal_mcp/applications/ms_teams/app.py +123 -123
  42. universal_mcp/applications/openai/app.py +40 -39
  43. universal_mcp/applications/outlook/app.py +32 -32
  44. universal_mcp/applications/perplexity/app.py +4 -4
  45. universal_mcp/applications/reddit/app.py +69 -70
  46. universal_mcp/applications/resend/app.py +116 -117
  47. universal_mcp/applications/rocketlane/app.py +0 -1
  48. universal_mcp/applications/scraper/__init__.py +1 -1
  49. universal_mcp/applications/scraper/app.py +80 -81
  50. universal_mcp/applications/serpapi/app.py +14 -14
  51. universal_mcp/applications/sharepoint/app.py +19 -20
  52. universal_mcp/applications/shopify/app.py +0 -1
  53. universal_mcp/applications/slack/app.py +48 -48
  54. universal_mcp/applications/tavily/app.py +4 -4
  55. universal_mcp/applications/twitter/api_segments/compliance_api.py +13 -15
  56. universal_mcp/applications/twitter/api_segments/dm_conversations_api.py +20 -20
  57. universal_mcp/applications/twitter/api_segments/dm_events_api.py +12 -12
  58. universal_mcp/applications/twitter/api_segments/likes_api.py +12 -12
  59. universal_mcp/applications/twitter/api_segments/lists_api.py +37 -39
  60. universal_mcp/applications/twitter/api_segments/spaces_api.py +24 -24
  61. universal_mcp/applications/twitter/api_segments/trends_api.py +4 -4
  62. universal_mcp/applications/twitter/api_segments/tweets_api.py +105 -105
  63. universal_mcp/applications/twitter/api_segments/usage_api.py +4 -4
  64. universal_mcp/applications/twitter/api_segments/users_api.py +136 -136
  65. universal_mcp/applications/twitter/app.py +6 -2
  66. universal_mcp/applications/unipile/app.py +90 -97
  67. universal_mcp/applications/whatsapp/app.py +53 -54
  68. universal_mcp/applications/whatsapp/audio.py +39 -35
  69. universal_mcp/applications/whatsapp/whatsapp.py +176 -154
  70. universal_mcp/applications/whatsapp_business/app.py +92 -92
  71. universal_mcp/applications/yahoo_finance/app.py +105 -63
  72. universal_mcp/applications/youtube/app.py +193 -196
  73. universal_mcp/applications/zenquotes/__init__.py +2 -0
  74. universal_mcp/applications/zenquotes/app.py +3 -3
  75. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.22.dist-info}/METADATA +2 -1
  76. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.22.dist-info}/RECORD +78 -74
  77. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.22.dist-info}/WHEEL +0 -0
  78. {universal_mcp_applications-0.1.21.dist-info → universal_mcp_applications-0.1.22.dist-info}/licenses/LICENSE +0 -0
@@ -7,11 +7,8 @@ from typing import Annotated
7
7
 
8
8
  from google import genai
9
9
  from google.genai import types
10
- from loguru import logger
11
10
  from PIL import Image
12
-
13
11
  from universal_mcp.applications.application import APIApplication
14
- from universal_mcp.applications.file_system.app import FileSystemApp
15
12
  from universal_mcp.integrations import Integration
16
13
 
17
14
 
@@ -216,10 +213,9 @@ class GoogleGeminiApp(APIApplication):
216
213
 
217
214
  async def test_google_gemini():
218
215
  app = GoogleGeminiApp()
219
- result = await app.generate_image(
216
+ await app.generate_image(
220
217
  "A beautiful women potrait with red green hair color"
221
218
  )
222
- print(result)
223
219
 
224
220
 
225
221
  if __name__ == "__main__":
@@ -4,7 +4,6 @@ from email.message import EmailMessage
4
4
  from typing import Any
5
5
 
6
6
  from loguru import logger
7
-
8
7
  from universal_mcp.applications.application import APIApplication
9
8
  from universal_mcp.integrations import Integration
10
9
 
@@ -25,22 +24,22 @@ class GoogleMailApp(APIApplication):
25
24
  ) -> dict[str, Any]:
26
25
  """
27
26
  Composes and immediately sends an email message via the Gmail API. It can function as a reply within an existing conversation if a `thread_id` is provided. This action is distinct from `send_draft`, which sends a previously saved draft message, or `create_draft`, which only saves an email.
28
-
27
+
29
28
  Args:
30
29
  to: The email address of the recipient
31
30
  subject: The subject line of the email
32
31
  body: The content of the email message
33
32
  body_type: The MIME subtype for the body ("plain" or "html"). Defaults to "plain".
34
33
  thread_id: Optional thread ID to make this a reply to an existing conversation
35
-
34
+
36
35
  Returns:
37
36
  A string containing either a success confirmation message or an error description
38
-
37
+
39
38
  Raises:
40
39
  NotAuthorizedError: When Gmail API authentication is not valid or has expired
41
40
  KeyError: When required configuration keys are missing
42
41
  Exception: For any other unexpected errors during the email sending process
43
-
42
+
44
43
  Tags:
45
44
  send, email, api, communication, important, thread, reply, openWorldHint
46
45
  """
@@ -80,22 +79,22 @@ class GoogleMailApp(APIApplication):
80
79
  ) -> dict[str, Any]:
81
80
  """
82
81
  Saves a new email draft in Gmail with a specified recipient, subject, and body. An optional thread ID can create the draft as a reply within an existing conversation, distinguishing it from `send_email`, which sends immediately.
83
-
82
+
84
83
  Args:
85
84
  to: The email address of the recipient
86
85
  subject: The subject line of the draft email
87
86
  body: The main content/message of the draft email
88
87
  body_type: The MIME subtype for the body ("plain" or "html"). Defaults to "plain".
89
88
  thread_id: Optional thread ID to make this draft a reply to an existing conversation
90
-
89
+
91
90
  Returns:
92
91
  A string containing either a success message with the draft ID or an error message describing the failure
93
-
92
+
94
93
  Raises:
95
94
  NotAuthorizedError: When the user's Gmail API authorization is invalid or expired
96
95
  KeyError: When required configuration keys are missing
97
96
  Exception: For general API errors, network issues, or other unexpected problems
98
-
97
+
99
98
  Tags:
100
99
  create, email, draft, gmail, api, important, thread, reply, html
101
100
  """
@@ -119,18 +118,18 @@ class GoogleMailApp(APIApplication):
119
118
  def send_draft(self, draft_id: str) -> dict[str, Any]:
120
119
  """
121
120
  Sends a pre-existing Gmail draft identified by its unique ID. It posts to the `/drafts/send` endpoint, converting a saved draft into a sent message. This function acts on drafts from `create_draft` and differs from `send_email`, which composes and sends an email in one step.
122
-
121
+
123
122
  Args:
124
123
  draft_id: The unique identifier of the Gmail draft to be sent
125
-
124
+
126
125
  Returns:
127
126
  A string containing either a success message with the sent message ID or an error message detailing the failure reason
128
-
127
+
129
128
  Raises:
130
129
  NotAuthorizedError: When the user's Gmail API authorization is invalid or expired
131
130
  KeyError: When required configuration keys are missing from the API response
132
131
  Exception: For other unexpected errors during the API request or response handling
133
-
132
+
134
133
  Tags:
135
134
  send, email, api, communication, important, draft
136
135
  """
@@ -148,19 +147,19 @@ class GoogleMailApp(APIApplication):
148
147
  def get_draft(self, draft_id: str, format: str = "full") -> dict[str, Any]:
149
148
  """
150
149
  Retrieves a specific Gmail draft by its unique ID. This function allows specifying the output format (e.g., full, raw) to control the response detail. Unlike `list_drafts`, it fetches a single, known draft rather than a collection of multiple drafts.
151
-
150
+
152
151
  Args:
153
152
  draft_id: String identifier of the draft email to retrieve
154
153
  format: Output format of the draft (options: minimal, full, raw, metadata). Defaults to 'full'
155
-
154
+
156
155
  Returns:
157
156
  A formatted string containing the draft email details (ID, recipient, subject) or an error message if retrieval fails
158
-
157
+
159
158
  Raises:
160
159
  NotAuthorizedError: When the user's Gmail authorization is invalid or expired
161
160
  KeyError: When required configuration keys or response data fields are missing
162
161
  Exception: For any other unexpected errors during draft retrieval
163
-
162
+
164
163
  Tags:
165
164
  retrieve, email, gmail, draft, api, format, important
166
165
  """
@@ -184,20 +183,20 @@ class GoogleMailApp(APIApplication):
184
183
  ) -> dict[str, Any]:
185
184
  """
186
185
  Fetches a list of email drafts, allowing filtering by a search query and limiting results. It can optionally include drafts from spam and trash, returning a collection of draft objects. This is distinct from `get_draft`, which retrieves only a single, specific draft by its ID.
187
-
186
+
188
187
  Args:
189
188
  max_results: Maximum number of drafts to return (max 500, default 20)
190
189
  q: Search query string to filter drafts using Gmail search syntax (default None)
191
190
  include_spam_trash: Boolean flag to include drafts from spam and trash folders (default False)
192
-
191
+
193
192
  Returns:
194
193
  A formatted string containing the list of draft IDs and count information, or an error message if the request fails
195
-
194
+
196
195
  Raises:
197
196
  NotAuthorizedError: When the Gmail API authentication is missing or invalid
198
197
  KeyError: When required configuration keys are missing
199
198
  Exception: For general errors during API communication or data processing
200
-
199
+
201
200
  Tags:
202
201
  list, email, drafts, gmail, api, search, query, pagination, important
203
202
  """
@@ -222,13 +221,13 @@ class GoogleMailApp(APIApplication):
222
221
  def get_message_details(self, message_id: str) -> dict[str, Any]:
223
222
  """
224
223
  Retrieves a specific email from Gmail by its ID. It parses the API response to extract and format key details—including sender, subject, body, and attachments—into a structured dictionary. This function provides detailed data for a single message, distinguishing it from `list_messages` which fetches multiple messages.
225
-
224
+
226
225
  Args:
227
226
  message_id: The unique identifier of the Gmail message to retrieve
228
-
227
+
229
228
  Returns:
230
229
  A dictionary containing the cleaned message details (serializable as JSON)
231
-
230
+
232
231
  Tags:
233
232
  retrieve, email, format, api, gmail, message, important, body, content, attachments
234
233
  """
@@ -265,8 +264,6 @@ class GoogleMailApp(APIApplication):
265
264
  "attachments": attachments,
266
265
  }
267
266
 
268
-
269
-
270
267
  def _extract_email_body(self, payload):
271
268
  """
272
269
  Extracts the email body content from the Gmail API payload.
@@ -332,26 +329,30 @@ class GoogleMailApp(APIApplication):
332
329
  list: List of attachment dictionaries with attachment_id, filename, mime_type, and size
333
330
  """
334
331
  attachments = []
335
-
332
+
336
333
  try:
337
334
  if payload.get("filename") and payload.get("body", {}).get("attachmentId"):
338
- attachments.append({
339
- "attachment_id": payload["body"]["attachmentId"],
340
- "filename": payload["filename"],
341
- "mime_type": payload.get("mimeType", ""),
342
- "size": payload.get("body", {}).get("size", 0)
343
- })
335
+ attachments.append(
336
+ {
337
+ "attachment_id": payload["body"]["attachmentId"],
338
+ "filename": payload["filename"],
339
+ "mime_type": payload.get("mimeType", ""),
340
+ "size": payload.get("body", {}).get("size", 0),
341
+ }
342
+ )
344
343
 
345
344
  parts = payload.get("parts", [])
346
345
  for part in parts:
347
346
  if part.get("filename") and part.get("body", {}).get("attachmentId"):
348
- attachments.append({
349
- "attachment_id": part["body"]["attachmentId"],
350
- "filename": part["filename"],
351
- "mime_type": part.get("mimeType", ""),
352
- "size": part.get("body", {}).get("size", 0)
353
- })
354
-
347
+ attachments.append(
348
+ {
349
+ "attachment_id": part["body"]["attachmentId"],
350
+ "filename": part["filename"],
351
+ "mime_type": part.get("mimeType", ""),
352
+ "size": part.get("body", {}).get("size", 0),
353
+ }
354
+ )
355
+
355
356
  elif part.get("parts"):
356
357
  nested_attachments = self._extract_attachments(part)
357
358
  attachments.extend(nested_attachments)
@@ -388,7 +389,7 @@ class GoogleMailApp(APIApplication):
388
389
  ) -> dict[str, Any]:
389
390
  """
390
391
  Fetches a paginated list of detailed email messages using optional search queries. It concurrently retrieves full content (sender, subject, body) for each message, returning the results and a pagination token. This differs from `get_message_details`, which fetches only a single message.
391
-
392
+
392
393
  Args:
393
394
  max_results: Maximum number of messages to return (max 500, default 20)
394
395
  q: Search query string to filter messages using Gmail search syntax.
@@ -409,15 +410,15 @@ class GoogleMailApp(APIApplication):
409
410
  - 'has:attachment' for emails with attachments
410
411
  - 'is:unread' for unread emails
411
412
  include_spam_trash: Boolean flag to include messages from spam and trash folders (default False)
412
-
413
+
413
414
  Returns:
414
415
  A dictionary containing the list of messages and next page token for pagination
415
-
416
+
416
417
  Raises:
417
418
  NotAuthorizedError: When the Gmail API authentication is invalid or missing
418
419
  KeyError: When required configuration keys are missing
419
420
  Exception: For general API errors, network issues, or other unexpected problems
420
-
421
+
421
422
  Tags:
422
423
  list, messages, gmail, search, query, pagination, important
423
424
  """
@@ -472,18 +473,18 @@ class GoogleMailApp(APIApplication):
472
473
  def get_email_thread(self, thread_id: str) -> dict[str, Any]:
473
474
  """
474
475
  Fetches a complete email conversation by its unique thread ID. Unlike `get_message_details`, which retrieves a single message, this returns all messages and metadata for the entire thread, providing the full context of the conversation.
475
-
476
+
476
477
  Args:
477
478
  thread_id: The unique identifier of the Gmail thread to retrieve
478
-
479
+
479
480
  Returns:
480
481
  A dictionary containing the thread details and all messages in the thread
481
-
482
+
482
483
  Raises:
483
484
  NotAuthorizedError: When Gmail API authentication is invalid or missing
484
485
  KeyError: When required configuration keys are missing
485
486
  Exception: For general errors during API communication or data processing
486
-
487
+
487
488
  Tags:
488
489
  retrieve, email, thread, gmail, api, conversation, important, readOnlyHint, openWorldHint
489
490
  """
@@ -495,17 +496,17 @@ class GoogleMailApp(APIApplication):
495
496
  def list_labels(self) -> dict[str, Any]:
496
497
  """
497
498
  Fetches a complete list of all available labels from the user's Gmail account via the API. It retrieves both system-defined (e.g., INBOX) and user-created labels, returning their names and IDs, complementing management functions like `create_label` and `update_label`.
498
-
499
+
499
500
  Args:
500
501
  None: This method takes no arguments
501
-
502
+
502
503
  Returns:
503
504
  A formatted string containing a list of Gmail labels categorized by type (system and user), with their IDs, or an error message if the operation fails.
504
-
505
+
505
506
  Raises:
506
507
  NotAuthorizedError: Raised when the user's Gmail authorization is invalid or missing
507
508
  Exception: Raised when any other unexpected error occurs during the API request or data processing
508
-
509
+
509
510
  Tags:
510
511
  list, gmail, labels, fetch, organize, important, management
511
512
  """
@@ -521,17 +522,17 @@ class GoogleMailApp(APIApplication):
521
522
  def create_label(self, name: str) -> dict[str, Any]:
522
523
  """
523
524
  Creates a new Gmail label with a specified name, hardcoding its visibility to ensure it appears in both label and message lists. This function complements `update_label` and `delete_label` by adding new organizational tags to the user's account via the API.
524
-
525
+
525
526
  Args:
526
527
  name: The display name of the label to create
527
-
528
+
528
529
  Returns:
529
530
  A formatted string containing the creation status, including the new label's name and ID if successful, or an error message if the creation fails
530
-
531
+
531
532
  Raises:
532
533
  NotAuthorizedError: Raised when the request lacks proper Gmail API authorization
533
534
  Exception: Raised for any other unexpected errors during label creation
534
-
535
+
535
536
  Tags:
536
537
  create, label, gmail, management, important
537
538
  """
@@ -554,17 +555,17 @@ class GoogleMailApp(APIApplication):
554
555
  def get_profile(self) -> dict[str, Any]:
555
556
  """
556
557
  Retrieves the authenticated user's Gmail profile from the API. The profile includes the user's email address, total message and thread counts, and the mailbox's history ID, offering a high-level summary of the account's state.
557
-
558
+
558
559
  Args:
559
560
  None: This method takes no arguments besides self
560
-
561
+
561
562
  Returns:
562
563
  A formatted string containing the user's Gmail profile information or an error message if the request fails
563
-
564
+
564
565
  Raises:
565
566
  NotAuthorizedError: Raised when the user's credentials are invalid or authorization is required
566
567
  Exception: Raised for any other unexpected errors during the API request or data processing
567
-
568
+
568
569
  Tags:
569
570
  fetch, profile, gmail, user-info, api-request, important
570
571
  """
@@ -595,7 +596,7 @@ class GoogleMailApp(APIApplication):
595
596
  ) -> dict[str, Any]:
596
597
  """
597
598
  Replaces the entire content of a specific Gmail draft, identified by its ID, with a new message object. This allows complete modification of the recipient, subject, and body, serving as the primary "edit" function for drafts created via `create_draft`.
598
-
599
+
599
600
  Args:
600
601
  userId (string): userId
601
602
  id (string): id
@@ -658,10 +659,10 @@ class GoogleMailApp(APIApplication):
658
659
  }
659
660
  }
660
661
  ```
661
-
662
+
662
663
  Returns:
663
664
  dict[str, Any]: Successful response
664
-
665
+
665
666
  Tags:
666
667
  Drafts
667
668
  """
@@ -714,7 +715,7 @@ class GoogleMailApp(APIApplication):
714
715
  ) -> dict[str, Any]:
715
716
  """
716
717
  Moves a specific Gmail message to the trash folder by its unique ID. This action performs a soft delete and is the direct counterpart to `untrash_message`, which restores a message. It requires both a user ID and the specific message ID to make the API call.
717
-
718
+
718
719
  Args:
719
720
  userId (string): userId
720
721
  id (string): id
@@ -729,10 +730,10 @@ class GoogleMailApp(APIApplication):
729
730
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
730
731
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
731
732
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
732
-
733
+
733
734
  Returns:
734
735
  dict[str, Any]: Successful response
735
-
736
+
736
737
  Tags:
737
738
  Messages, important
738
739
  """
@@ -780,7 +781,7 @@ class GoogleMailApp(APIApplication):
780
781
  ) -> dict[str, Any]:
781
782
  """
782
783
  Restores a specific Gmail message from the trash to the user's mailbox, identified by its unique ID. It serves as the direct counterpart to `trash_message`, undoing the deletion action and making the message visible again in the user's account via an API call.
783
-
784
+
784
785
  Args:
785
786
  userId (string): userId
786
787
  id (string): id
@@ -795,10 +796,10 @@ class GoogleMailApp(APIApplication):
795
796
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
796
797
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
797
798
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
798
-
799
+
799
800
  Returns:
800
801
  dict[str, Any]: Successful response
801
-
802
+
802
803
  Tags:
803
804
  Messages
804
805
  """
@@ -847,7 +848,7 @@ class GoogleMailApp(APIApplication):
847
848
  ) -> dict[str, Any]:
848
849
  """
849
850
  Fetches the raw, base64-encoded content of a specific email attachment using its unique ID. It requires the parent message and user IDs for a targeted API request, returning the file's size and data for download or processing, unlike functions that only list attachment metadata.
850
-
851
+
851
852
  Args:
852
853
  userId (string): userId
853
854
  messageId (string): messageId
@@ -863,10 +864,10 @@ class GoogleMailApp(APIApplication):
863
864
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
864
865
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
865
866
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
866
-
867
+
867
868
  Returns:
868
869
  dict[str, Any]: Successful response
869
-
870
+
870
871
  Tags:
871
872
  Messages
872
873
  """
@@ -925,7 +926,7 @@ class GoogleMailApp(APIApplication):
925
926
  ) -> dict[str, Any]:
926
927
  """
927
928
  Updates an existing Gmail label's properties, such as its name, color, or visibility, using its unique ID. This modification function is distinct from `create_label` and `delete_label`, returning the full, updated label resource from the API upon successful completion.
928
-
929
+
929
930
  Args:
930
931
  userId (string): userId
931
932
  id (string): id
@@ -967,10 +968,10 @@ class GoogleMailApp(APIApplication):
967
968
  "type": "system"
968
969
  }
969
970
  ```
970
-
971
+
971
972
  Returns:
972
973
  dict[str, Any]: Successful response
973
-
974
+
974
975
  Tags:
975
976
  Labels
976
977
  """
@@ -1031,7 +1032,7 @@ class GoogleMailApp(APIApplication):
1031
1032
  ) -> Any:
1032
1033
  """
1033
1034
  Permanently removes a specific Gmail label from a user's account, identified by its unique ID. This function performs an irreversible deletion via an API call, requiring both the `userId` and the label `id`. It is the destructive counterpart to `create_label` and `update_label`.
1034
-
1035
+
1035
1036
  Args:
1036
1037
  userId (string): userId
1037
1038
  id (string): id
@@ -1046,10 +1047,10 @@ class GoogleMailApp(APIApplication):
1046
1047
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1047
1048
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1048
1049
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1049
-
1050
+
1050
1051
  Returns:
1051
1052
  Any: No Content
1052
-
1053
+
1053
1054
  Tags:
1054
1055
  Labels
1055
1056
  """
@@ -1097,7 +1098,7 @@ class GoogleMailApp(APIApplication):
1097
1098
  ) -> dict[str, Any]:
1098
1099
  """
1099
1100
  Fetches a single Gmail filter's configuration by its unique ID for a specified user. It returns the filter’s criteria (e.g., sender) and actions (e.g., add label). This differs from `get_all_filters`, which retrieves a complete list of all filters for the user.
1100
-
1101
+
1101
1102
  Args:
1102
1103
  userId (string): userId
1103
1104
  id (string): id
@@ -1112,10 +1113,10 @@ class GoogleMailApp(APIApplication):
1112
1113
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1113
1114
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1114
1115
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1115
-
1116
+
1116
1117
  Returns:
1117
1118
  dict[str, Any]: Successful response
1118
-
1119
+
1119
1120
  Tags:
1120
1121
  settings, Filters
1121
1122
  """
@@ -1163,7 +1164,7 @@ class GoogleMailApp(APIApplication):
1163
1164
  ) -> Any:
1164
1165
  """
1165
1166
  Permanently removes a specific Gmail filter, identified by its unique ID, from a user's account. This action deletes the filter's criteria and all associated automation rules, making it the destructive counterpart to `create_filter` and `get_filter`.
1166
-
1167
+
1167
1168
  Args:
1168
1169
  userId (string): userId
1169
1170
  id (string): id
@@ -1178,10 +1179,10 @@ class GoogleMailApp(APIApplication):
1178
1179
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1179
1180
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1180
1181
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1181
-
1182
+
1182
1183
  Returns:
1183
1184
  Any: No Content
1184
-
1185
+
1185
1186
  Tags:
1186
1187
  settings, Filters
1187
1188
  """
@@ -1228,7 +1229,7 @@ class GoogleMailApp(APIApplication):
1228
1229
  ) -> dict[str, Any]:
1229
1230
  """
1230
1231
  Retrieves all configured email filters for a specified Gmail user ID. It fetches a list of a user's filters, including their matching criteria and automated actions, distinguishing it from `get_filter`, which retrieves only a single filter.
1231
-
1232
+
1232
1233
  Args:
1233
1234
  userId (string): userId
1234
1235
  access_token (string): OAuth access token. Example: '{{access_token}}'.
@@ -1242,10 +1243,10 @@ class GoogleMailApp(APIApplication):
1242
1243
  upload_protocol (string): Upload protocol for media (e.g. "raw", "multipart"). Example: '{{upload_protocol}}'.
1243
1244
  uploadType (string): Legacy upload protocol for media (e.g. "media", "multipart"). Example: '{{uploadType}}'.
1244
1245
  xgafv (string): V1 error format. Example: '{{$.xgafv}}'.
1245
-
1246
+
1246
1247
  Returns:
1247
1248
  dict[str, Any]: Successful response
1248
-
1249
+
1249
1250
  Tags:
1250
1251
  settings, Filters
1251
1252
  """
@@ -1293,7 +1294,7 @@ class GoogleMailApp(APIApplication):
1293
1294
  ) -> dict[str, Any]:
1294
1295
  """
1295
1296
  Creates a new automated email filter in Gmail for a specified user. It requires defining matching criteria (e.g., sender, subject) and an action (e.g., add label). This function adds new rules, distinguishing it from `get_all_filters` and `delete_filter` which manage existing ones.
1296
-
1297
+
1297
1298
  Args:
1298
1299
  userId (string): userId
1299
1300
  access_token (string): OAuth access token. Example: '{{access_token}}'.
@@ -1338,10 +1339,10 @@ class GoogleMailApp(APIApplication):
1338
1339
  "id": "in aute anim"
1339
1340
  }
1340
1341
  ```
1341
-
1342
+
1342
1343
  Returns:
1343
1344
  dict[str, Any]: Successful response
1344
-
1345
+
1345
1346
  Tags:
1346
1347
  settings, Filters
1347
1348
  """