@bubblelab/bubble-core 0.1.245 → 0.1.247

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.
Files changed (83) hide show
  1. package/dist/bubble-bundle.d.ts +112 -112
  2. package/dist/bubbles/service-bubble/agi-inc.d.ts +20 -20
  3. package/dist/bubbles/service-bubble/ai-agent.d.ts +74 -74
  4. package/dist/bubbles/service-bubble/ai-agent.d.ts.map +1 -1
  5. package/dist/bubbles/service-bubble/ai-agent.js +8 -4
  6. package/dist/bubbles/service-bubble/ai-agent.js.map +1 -1
  7. package/dist/bubbles/service-bubble/airtable.d.ts +76 -76
  8. package/dist/bubbles/service-bubble/apify/actors/app-rankings-scraper.d.ts +6 -6
  9. package/dist/bubbles/service-bubble/apify/actors/instagram-hashtag-scraper.d.ts +2 -2
  10. package/dist/bubbles/service-bubble/apify/actors/instagram-scraper.d.ts +8 -8
  11. package/dist/bubbles/service-bubble/apify/actors/linkedin-jobs-scraper.d.ts +2 -2
  12. package/dist/bubbles/service-bubble/apify/actors/linkedin-posts-search.d.ts +22 -22
  13. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-detail.d.ts +38 -38
  14. package/dist/bubbles/service-bubble/apify/actors/linkedin-profile-posts.d.ts +52 -52
  15. package/dist/bubbles/service-bubble/apify/actors/tiktok-scraper.d.ts +6 -6
  16. package/dist/bubbles/service-bubble/apify/actors/twitter-scraper.d.ts +12 -12
  17. package/dist/bubbles/service-bubble/apify/actors/youtube-scraper.d.ts +12 -12
  18. package/dist/bubbles/service-bubble/apify/apify-scraper.schema.d.ts +132 -132
  19. package/dist/bubbles/service-bubble/apify/apify.d.ts +18 -18
  20. package/dist/bubbles/service-bubble/ashby/ashby.d.ts +2 -2
  21. package/dist/bubbles/service-bubble/ashby/ashby.schema.d.ts +2 -2
  22. package/dist/bubbles/service-bubble/assembled/assembled.d.ts +6 -6
  23. package/dist/bubbles/service-bubble/assembled/assembled.schema.d.ts +6 -6
  24. package/dist/bubbles/service-bubble/attio/attio.d.ts +6 -6
  25. package/dist/bubbles/service-bubble/attio/attio.schema.d.ts +6 -6
  26. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +1 -1
  27. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +1 -1
  28. package/dist/bubbles/service-bubble/capability-pipeline.js +1 -1
  29. package/dist/bubbles/service-bubble/capability-pipeline.js.map +1 -1
  30. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +4 -4
  31. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +8 -8
  32. package/dist/bubbles/service-bubble/firecrawl.d.ts +334 -334
  33. package/dist/bubbles/service-bubble/followupboss.d.ts +4 -4
  34. package/dist/bubbles/service-bubble/github.d.ts +60 -60
  35. package/dist/bubbles/service-bubble/gmail.d.ts +164 -164
  36. package/dist/bubbles/service-bubble/google-calendar.d.ts +6 -6
  37. package/dist/bubbles/service-bubble/google-drive.d.ts +4 -4
  38. package/dist/bubbles/service-bubble/http.d.ts +6 -6
  39. package/dist/bubbles/service-bubble/hubspot/hubspot.d.ts +2 -2
  40. package/dist/bubbles/service-bubble/hubspot/hubspot.schema.d.ts +2 -2
  41. package/dist/bubbles/service-bubble/insforge-db.d.ts +8 -8
  42. package/dist/bubbles/service-bubble/jira/jira.d.ts +30 -30
  43. package/dist/bubbles/service-bubble/jira/jira.schema.d.ts +36 -36
  44. package/dist/bubbles/service-bubble/notion/notion.d.ts +168 -168
  45. package/dist/bubbles/service-bubble/notion/property-schemas.d.ts +8 -8
  46. package/dist/bubbles/service-bubble/postgresql.d.ts +8 -8
  47. package/dist/bubbles/service-bubble/posthog/posthog.d.ts +10 -10
  48. package/dist/bubbles/service-bubble/posthog/posthog.schema.d.ts +14 -14
  49. package/dist/bubbles/service-bubble/resend.d.ts +4 -4
  50. package/dist/bubbles/service-bubble/slack/slack.d.ts +388 -388
  51. package/dist/bubbles/service-bubble/stripe/stripe.d.ts +24 -24
  52. package/dist/bubbles/service-bubble/stripe/stripe.schema.d.ts +28 -28
  53. package/dist/bubbles/service-bubble/xero/xero.d.ts +2 -2
  54. package/dist/bubbles/service-bubble/xero/xero.schema.d.ts +2 -2
  55. package/dist/bubbles/service-bubble/zendesk/zendesk.d.ts +870 -20
  56. package/dist/bubbles/service-bubble/zendesk/zendesk.d.ts.map +1 -1
  57. package/dist/bubbles/service-bubble/zendesk/zendesk.js +156 -0
  58. package/dist/bubbles/service-bubble/zendesk/zendesk.js.map +1 -1
  59. package/dist/bubbles/service-bubble/zendesk/zendesk.schema.d.ts +862 -20
  60. package/dist/bubbles/service-bubble/zendesk/zendesk.schema.d.ts.map +1 -1
  61. package/dist/bubbles/service-bubble/zendesk/zendesk.schema.js +261 -0
  62. package/dist/bubbles/service-bubble/zendesk/zendesk.schema.js.map +1 -1
  63. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +6 -6
  64. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +8 -8
  65. package/dist/bubbles/tool-bubble/app-rankings-tool.d.ts +8 -8
  66. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  67. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  68. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +20 -20
  69. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +384 -384
  70. package/dist/bubbles/tool-bubble/people-search-tool.d.ts +44 -44
  71. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +10 -10
  72. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  73. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +4 -4
  74. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +60 -60
  75. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +134 -134
  76. package/dist/bubbles/tool-bubble/yc-scraper-tool.d.ts +8 -8
  77. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +20 -20
  78. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +12 -12
  79. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +8 -8
  80. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +2 -2
  81. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +34 -34
  82. package/dist/bubbles.json +1171 -2
  83. package/package.json +2 -2
package/dist/bubbles.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": "2.0.0",
3
- "generatedAt": "2026-03-20T09:38:17.124Z",
3
+ "generatedAt": "2026-03-21T01:00:12.006Z",
4
4
  "totalCount": 76,
5
5
  "bubbles": [
6
6
  {
@@ -75532,6 +75532,428 @@
75532
75532
  "ticket_field_id"
75533
75533
  ],
75534
75534
  "additionalProperties": false
75535
+ },
75536
+ {
75537
+ "type": "object",
75538
+ "properties": {
75539
+ "operation": {
75540
+ "type": "string",
75541
+ "enum": [
75542
+ "list_macros"
75543
+ ],
75544
+ "description": "List available macros. Optionally filter by active status or category."
75545
+ },
75546
+ "active": {
75547
+ "type": "boolean",
75548
+ "description": "Filter by active status (true = active only, false = inactive only)"
75549
+ },
75550
+ "category": {
75551
+ "type": "string",
75552
+ "description": "Filter macros by category name"
75553
+ },
75554
+ "include": {
75555
+ "type": "string",
75556
+ "enum": [
75557
+ "usage_7d",
75558
+ "usage_24h",
75559
+ "usage_30d"
75560
+ ],
75561
+ "description": "Include usage statistics for the given period"
75562
+ },
75563
+ "page": {
75564
+ "type": "number",
75565
+ "minimum": 1,
75566
+ "default": 1,
75567
+ "description": "Page number for pagination (default 1)"
75568
+ },
75569
+ "per_page": {
75570
+ "type": "number",
75571
+ "minimum": 1,
75572
+ "maximum": 100,
75573
+ "default": 25,
75574
+ "description": "Results per page (1-100, default 25)"
75575
+ },
75576
+ "credentials": {
75577
+ "type": "object",
75578
+ "additionalProperties": {
75579
+ "type": "string"
75580
+ },
75581
+ "description": "Object mapping credential types to values (injected at runtime)"
75582
+ }
75583
+ },
75584
+ "required": [
75585
+ "operation"
75586
+ ],
75587
+ "additionalProperties": false
75588
+ },
75589
+ {
75590
+ "type": "object",
75591
+ "properties": {
75592
+ "operation": {
75593
+ "type": "string",
75594
+ "enum": [
75595
+ "get_macro"
75596
+ ],
75597
+ "description": "Retrieve a single macro by ID with its full action definitions"
75598
+ },
75599
+ "macro_id": {
75600
+ "type": "string",
75601
+ "minLength": 1,
75602
+ "description": "Zendesk macro ID (numeric string)"
75603
+ },
75604
+ "credentials": {
75605
+ "type": "object",
75606
+ "additionalProperties": {
75607
+ "type": "string"
75608
+ },
75609
+ "description": "Object mapping credential types to values (injected at runtime)"
75610
+ }
75611
+ },
75612
+ "required": [
75613
+ "operation",
75614
+ "macro_id"
75615
+ ],
75616
+ "additionalProperties": false
75617
+ },
75618
+ {
75619
+ "type": "object",
75620
+ "properties": {
75621
+ "operation": {
75622
+ "type": "string",
75623
+ "enum": [
75624
+ "apply_macro"
75625
+ ],
75626
+ "description": "Apply a macro to a ticket. Returns the resulting ticket changes (comment text, field updates) without actually modifying the ticket. Use this to preview what a macro would do, then use update_ticket to apply the changes."
75627
+ },
75628
+ "ticket_id": {
75629
+ "type": "string",
75630
+ "minLength": 1,
75631
+ "description": "Zendesk ticket ID (numeric string)"
75632
+ },
75633
+ "macro_id": {
75634
+ "type": "string",
75635
+ "minLength": 1,
75636
+ "description": "Zendesk macro ID to apply"
75637
+ },
75638
+ "credentials": {
75639
+ "type": "object",
75640
+ "additionalProperties": {
75641
+ "type": "string"
75642
+ },
75643
+ "description": "Object mapping credential types to values (injected at runtime)"
75644
+ }
75645
+ },
75646
+ "required": [
75647
+ "operation",
75648
+ "ticket_id",
75649
+ "macro_id"
75650
+ ],
75651
+ "additionalProperties": false
75652
+ },
75653
+ {
75654
+ "type": "object",
75655
+ "properties": {
75656
+ "operation": {
75657
+ "type": "string",
75658
+ "enum": [
75659
+ "create_macro"
75660
+ ],
75661
+ "description": "Create a new macro with a title and a set of actions"
75662
+ },
75663
+ "title": {
75664
+ "type": "string",
75665
+ "minLength": 1,
75666
+ "description": "Macro title"
75667
+ },
75668
+ "actions": {
75669
+ "type": "array",
75670
+ "items": {
75671
+ "type": "object",
75672
+ "properties": {
75673
+ "field": {
75674
+ "type": "string",
75675
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\", \"group_id\")"
75676
+ },
75677
+ "value": {
75678
+ "anyOf": [
75679
+ {
75680
+ "type": "string"
75681
+ },
75682
+ {
75683
+ "type": "number"
75684
+ },
75685
+ {
75686
+ "type": "boolean"
75687
+ },
75688
+ {
75689
+ "type": "array",
75690
+ "items": {
75691
+ "type": "string"
75692
+ }
75693
+ },
75694
+ {
75695
+ "enum": [
75696
+ "null"
75697
+ ],
75698
+ "nullable": true
75699
+ }
75700
+ ],
75701
+ "description": "The value to set for this field"
75702
+ }
75703
+ },
75704
+ "required": [
75705
+ "field",
75706
+ "value"
75707
+ ],
75708
+ "additionalProperties": false
75709
+ },
75710
+ "minItems": 1,
75711
+ "description": "Actions the macro performs. Each action has a field name and value (e.g., {field: \"comment_value\", value: \"Thanks for contacting us!\"})"
75712
+ },
75713
+ "active": {
75714
+ "type": "boolean",
75715
+ "default": true,
75716
+ "description": "Whether the macro is active (default: true)"
75717
+ },
75718
+ "description": {
75719
+ "type": "string",
75720
+ "description": "Macro description"
75721
+ },
75722
+ "restriction": {
75723
+ "type": "object",
75724
+ "properties": {
75725
+ "type": {
75726
+ "type": "string",
75727
+ "description": "Restriction type (e.g., \"Group\")"
75728
+ },
75729
+ "id": {
75730
+ "type": "number",
75731
+ "description": "Restriction target ID"
75732
+ },
75733
+ "ids": {
75734
+ "type": "array",
75735
+ "items": {
75736
+ "type": "number"
75737
+ },
75738
+ "description": "Restriction target IDs"
75739
+ }
75740
+ },
75741
+ "required": [
75742
+ "type"
75743
+ ],
75744
+ "additionalProperties": false,
75745
+ "description": "Access restriction (e.g., limit to a specific group)"
75746
+ },
75747
+ "credentials": {
75748
+ "type": "object",
75749
+ "additionalProperties": {
75750
+ "type": "string"
75751
+ },
75752
+ "description": "Object mapping credential types to values (injected at runtime)"
75753
+ }
75754
+ },
75755
+ "required": [
75756
+ "operation",
75757
+ "title",
75758
+ "actions"
75759
+ ],
75760
+ "additionalProperties": false
75761
+ },
75762
+ {
75763
+ "type": "object",
75764
+ "properties": {
75765
+ "operation": {
75766
+ "type": "string",
75767
+ "enum": [
75768
+ "update_macro"
75769
+ ],
75770
+ "description": "Update an existing macro"
75771
+ },
75772
+ "macro_id": {
75773
+ "type": "string",
75774
+ "minLength": 1,
75775
+ "description": "Zendesk macro ID to update (numeric string)"
75776
+ },
75777
+ "title": {
75778
+ "type": "string",
75779
+ "minLength": 1,
75780
+ "description": "New macro title"
75781
+ },
75782
+ "actions": {
75783
+ "type": "array",
75784
+ "items": {
75785
+ "type": "object",
75786
+ "properties": {
75787
+ "field": {
75788
+ "type": "string",
75789
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\", \"group_id\")"
75790
+ },
75791
+ "value": {
75792
+ "anyOf": [
75793
+ {
75794
+ "type": "string"
75795
+ },
75796
+ {
75797
+ "type": "number"
75798
+ },
75799
+ {
75800
+ "type": "boolean"
75801
+ },
75802
+ {
75803
+ "type": "array",
75804
+ "items": {
75805
+ "type": "string"
75806
+ }
75807
+ },
75808
+ {
75809
+ "enum": [
75810
+ "null"
75811
+ ],
75812
+ "nullable": true
75813
+ }
75814
+ ],
75815
+ "description": "The value to set for this field"
75816
+ }
75817
+ },
75818
+ "required": [
75819
+ "field",
75820
+ "value"
75821
+ ],
75822
+ "additionalProperties": false
75823
+ },
75824
+ "minItems": 1,
75825
+ "description": "New actions for the macro"
75826
+ },
75827
+ "active": {
75828
+ "type": "boolean",
75829
+ "description": "Set active status"
75830
+ },
75831
+ "description": {
75832
+ "type": "string",
75833
+ "description": "New macro description"
75834
+ },
75835
+ "restriction": {
75836
+ "type": "object",
75837
+ "properties": {
75838
+ "type": {
75839
+ "type": "string",
75840
+ "description": "Restriction type (e.g., \"Group\")"
75841
+ },
75842
+ "id": {
75843
+ "type": "number",
75844
+ "description": "Restriction target ID"
75845
+ },
75846
+ "ids": {
75847
+ "type": "array",
75848
+ "items": {
75849
+ "type": "number"
75850
+ },
75851
+ "description": "Restriction target IDs"
75852
+ }
75853
+ },
75854
+ "required": [
75855
+ "type"
75856
+ ],
75857
+ "additionalProperties": false,
75858
+ "description": "Access restriction"
75859
+ },
75860
+ "credentials": {
75861
+ "type": "object",
75862
+ "additionalProperties": {
75863
+ "type": "string"
75864
+ },
75865
+ "description": "Object mapping credential types to values (injected at runtime)"
75866
+ }
75867
+ },
75868
+ "required": [
75869
+ "operation",
75870
+ "macro_id"
75871
+ ],
75872
+ "additionalProperties": false
75873
+ },
75874
+ {
75875
+ "type": "object",
75876
+ "properties": {
75877
+ "operation": {
75878
+ "type": "string",
75879
+ "enum": [
75880
+ "delete_macro"
75881
+ ],
75882
+ "description": "Delete a macro (admin only)"
75883
+ },
75884
+ "macro_id": {
75885
+ "type": "string",
75886
+ "minLength": 1,
75887
+ "description": "ID of the macro to delete"
75888
+ },
75889
+ "credentials": {
75890
+ "type": "object",
75891
+ "additionalProperties": {
75892
+ "type": "string"
75893
+ },
75894
+ "description": "Object mapping credential types to values (injected at runtime)"
75895
+ }
75896
+ },
75897
+ "required": [
75898
+ "operation",
75899
+ "macro_id"
75900
+ ],
75901
+ "additionalProperties": false
75902
+ },
75903
+ {
75904
+ "type": "object",
75905
+ "properties": {
75906
+ "operation": {
75907
+ "type": "string",
75908
+ "enum": [
75909
+ "search_macros"
75910
+ ],
75911
+ "description": "Search macros by title keyword"
75912
+ },
75913
+ "query": {
75914
+ "type": "string",
75915
+ "minLength": 1,
75916
+ "description": "Search query (matches macro title)"
75917
+ },
75918
+ "active": {
75919
+ "type": "boolean",
75920
+ "description": "Filter by active status"
75921
+ },
75922
+ "include": {
75923
+ "type": "string",
75924
+ "enum": [
75925
+ "usage_7d",
75926
+ "usage_24h",
75927
+ "usage_30d"
75928
+ ],
75929
+ "description": "Include usage statistics for the given period"
75930
+ },
75931
+ "page": {
75932
+ "type": "number",
75933
+ "minimum": 1,
75934
+ "default": 1,
75935
+ "description": "Page number for pagination (default 1)"
75936
+ },
75937
+ "per_page": {
75938
+ "type": "number",
75939
+ "minimum": 1,
75940
+ "maximum": 100,
75941
+ "default": 25,
75942
+ "description": "Results per page (1-100, default 25)"
75943
+ },
75944
+ "credentials": {
75945
+ "type": "object",
75946
+ "additionalProperties": {
75947
+ "type": "string"
75948
+ },
75949
+ "description": "Object mapping credential types to values (injected at runtime)"
75950
+ }
75951
+ },
75952
+ "required": [
75953
+ "operation",
75954
+ "query"
75955
+ ],
75956
+ "additionalProperties": false
75535
75957
  }
75536
75958
  ]
75537
75959
  },
@@ -76812,10 +77234,757 @@
76812
77234
  "error"
76813
77235
  ],
76814
77236
  "additionalProperties": false
77237
+ },
77238
+ {
77239
+ "type": "object",
77240
+ "properties": {
77241
+ "operation": {
77242
+ "type": "string",
77243
+ "enum": [
77244
+ "list_macros"
77245
+ ]
77246
+ },
77247
+ "success": {
77248
+ "type": "boolean",
77249
+ "description": "Whether the operation was successful"
77250
+ },
77251
+ "macros": {
77252
+ "type": "array",
77253
+ "items": {
77254
+ "type": "object",
77255
+ "properties": {
77256
+ "id": {
77257
+ "type": "number",
77258
+ "description": "Macro ID"
77259
+ },
77260
+ "title": {
77261
+ "type": "string",
77262
+ "description": "Macro title/name"
77263
+ },
77264
+ "description": {
77265
+ "type": "string",
77266
+ "nullable": true,
77267
+ "description": "Macro description"
77268
+ },
77269
+ "active": {
77270
+ "type": "boolean",
77271
+ "description": "Whether the macro is active"
77272
+ },
77273
+ "actions": {
77274
+ "type": "array",
77275
+ "items": {
77276
+ "type": "object",
77277
+ "properties": {
77278
+ "field": {
77279
+ "type": "string",
77280
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\")"
77281
+ },
77282
+ "value": {
77283
+ "anyOf": [
77284
+ {
77285
+ "type": "string"
77286
+ },
77287
+ {
77288
+ "type": "number"
77289
+ },
77290
+ {
77291
+ "type": "boolean"
77292
+ },
77293
+ {
77294
+ "type": "array",
77295
+ "items": {
77296
+ "type": "string"
77297
+ }
77298
+ },
77299
+ {
77300
+ "enum": [
77301
+ "null"
77302
+ ],
77303
+ "nullable": true
77304
+ }
77305
+ ],
77306
+ "nullable": true,
77307
+ "description": "The value to set for this field"
77308
+ }
77309
+ },
77310
+ "required": [
77311
+ "field",
77312
+ "value"
77313
+ ],
77314
+ "additionalProperties": false,
77315
+ "description": "A single action within a Zendesk macro"
77316
+ },
77317
+ "description": "List of actions this macro performs"
77318
+ },
77319
+ "restriction": {
77320
+ "type": "object",
77321
+ "properties": {
77322
+ "type": {
77323
+ "type": "string"
77324
+ },
77325
+ "id": {
77326
+ "type": "number"
77327
+ },
77328
+ "ids": {
77329
+ "type": "array",
77330
+ "items": {
77331
+ "type": "number"
77332
+ }
77333
+ }
77334
+ },
77335
+ "additionalProperties": false,
77336
+ "nullable": true,
77337
+ "description": "Access restriction (e.g., limited to a group)"
77338
+ },
77339
+ "created_at": {
77340
+ "type": "string",
77341
+ "description": "Created timestamp"
77342
+ },
77343
+ "updated_at": {
77344
+ "type": "string",
77345
+ "description": "Updated timestamp"
77346
+ }
77347
+ },
77348
+ "required": [
77349
+ "id"
77350
+ ],
77351
+ "additionalProperties": false,
77352
+ "description": "A Zendesk macro"
77353
+ },
77354
+ "description": "List of macros"
77355
+ },
77356
+ "count": {
77357
+ "type": "number",
77358
+ "description": "Total macro count"
77359
+ },
77360
+ "next_page": {
77361
+ "type": "string",
77362
+ "nullable": true,
77363
+ "description": "Next page URL"
77364
+ },
77365
+ "error": {
77366
+ "type": "string",
77367
+ "description": "Error message if operation failed"
77368
+ }
77369
+ },
77370
+ "required": [
77371
+ "operation",
77372
+ "success",
77373
+ "error"
77374
+ ],
77375
+ "additionalProperties": false
77376
+ },
77377
+ {
77378
+ "type": "object",
77379
+ "properties": {
77380
+ "operation": {
77381
+ "type": "string",
77382
+ "enum": [
77383
+ "get_macro"
77384
+ ]
77385
+ },
77386
+ "success": {
77387
+ "type": "boolean",
77388
+ "description": "Whether the operation was successful"
77389
+ },
77390
+ "macro": {
77391
+ "type": "object",
77392
+ "properties": {
77393
+ "id": {
77394
+ "type": "number",
77395
+ "description": "Macro ID"
77396
+ },
77397
+ "title": {
77398
+ "type": "string",
77399
+ "description": "Macro title/name"
77400
+ },
77401
+ "description": {
77402
+ "type": "string",
77403
+ "nullable": true,
77404
+ "description": "Macro description"
77405
+ },
77406
+ "active": {
77407
+ "type": "boolean",
77408
+ "description": "Whether the macro is active"
77409
+ },
77410
+ "actions": {
77411
+ "type": "array",
77412
+ "items": {
77413
+ "type": "object",
77414
+ "properties": {
77415
+ "field": {
77416
+ "type": "string",
77417
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\")"
77418
+ },
77419
+ "value": {
77420
+ "anyOf": [
77421
+ {
77422
+ "type": "string"
77423
+ },
77424
+ {
77425
+ "type": "number"
77426
+ },
77427
+ {
77428
+ "type": "boolean"
77429
+ },
77430
+ {
77431
+ "type": "array",
77432
+ "items": {
77433
+ "type": "string"
77434
+ }
77435
+ },
77436
+ {
77437
+ "enum": [
77438
+ "null"
77439
+ ],
77440
+ "nullable": true
77441
+ }
77442
+ ],
77443
+ "nullable": true,
77444
+ "description": "The value to set for this field"
77445
+ }
77446
+ },
77447
+ "required": [
77448
+ "field",
77449
+ "value"
77450
+ ],
77451
+ "additionalProperties": false,
77452
+ "description": "A single action within a Zendesk macro"
77453
+ },
77454
+ "description": "List of actions this macro performs"
77455
+ },
77456
+ "restriction": {
77457
+ "type": "object",
77458
+ "properties": {
77459
+ "type": {
77460
+ "type": "string"
77461
+ },
77462
+ "id": {
77463
+ "type": "number"
77464
+ },
77465
+ "ids": {
77466
+ "type": "array",
77467
+ "items": {
77468
+ "type": "number"
77469
+ }
77470
+ }
77471
+ },
77472
+ "additionalProperties": false,
77473
+ "nullable": true,
77474
+ "description": "Access restriction (e.g., limited to a group)"
77475
+ },
77476
+ "created_at": {
77477
+ "type": "string",
77478
+ "description": "Created timestamp"
77479
+ },
77480
+ "updated_at": {
77481
+ "type": "string",
77482
+ "description": "Updated timestamp"
77483
+ }
77484
+ },
77485
+ "required": [
77486
+ "id"
77487
+ ],
77488
+ "additionalProperties": false,
77489
+ "description": "Retrieved macro"
77490
+ },
77491
+ "error": {
77492
+ "type": "string",
77493
+ "description": "Error message if operation failed"
77494
+ }
77495
+ },
77496
+ "required": [
77497
+ "operation",
77498
+ "success",
77499
+ "error"
77500
+ ],
77501
+ "additionalProperties": false
77502
+ },
77503
+ {
77504
+ "type": "object",
77505
+ "properties": {
77506
+ "operation": {
77507
+ "type": "string",
77508
+ "enum": [
77509
+ "apply_macro"
77510
+ ]
77511
+ },
77512
+ "success": {
77513
+ "type": "boolean",
77514
+ "description": "Whether the operation was successful"
77515
+ },
77516
+ "result": {
77517
+ "type": "object",
77518
+ "properties": {
77519
+ "ticket": {
77520
+ "type": "object",
77521
+ "additionalProperties": {},
77522
+ "description": "Ticket fields that would be changed"
77523
+ },
77524
+ "comment": {
77525
+ "type": "object",
77526
+ "properties": {
77527
+ "body": {
77528
+ "type": "string",
77529
+ "description": "Comment body text the macro would add"
77530
+ },
77531
+ "html_body": {
77532
+ "type": "string",
77533
+ "description": "Comment body HTML the macro would add"
77534
+ },
77535
+ "public": {
77536
+ "type": "boolean",
77537
+ "description": "Whether the comment would be public"
77538
+ },
77539
+ "scoped_body": {
77540
+ "type": "array",
77541
+ "items": {
77542
+ "type": "array",
77543
+ "items": {
77544
+ "type": "string"
77545
+ }
77546
+ },
77547
+ "description": "Scoped comment bodies (locale-specific)"
77548
+ }
77549
+ },
77550
+ "additionalProperties": false,
77551
+ "description": "Comment that the macro would add to the ticket"
77552
+ }
77553
+ },
77554
+ "additionalProperties": false,
77555
+ "description": "The result of applying the macro — shows what would change"
77556
+ },
77557
+ "error": {
77558
+ "type": "string",
77559
+ "description": "Error message if operation failed"
77560
+ }
77561
+ },
77562
+ "required": [
77563
+ "operation",
77564
+ "success",
77565
+ "error"
77566
+ ],
77567
+ "additionalProperties": false
77568
+ },
77569
+ {
77570
+ "type": "object",
77571
+ "properties": {
77572
+ "operation": {
77573
+ "type": "string",
77574
+ "enum": [
77575
+ "create_macro"
77576
+ ]
77577
+ },
77578
+ "success": {
77579
+ "type": "boolean",
77580
+ "description": "Whether the operation was successful"
77581
+ },
77582
+ "macro": {
77583
+ "type": "object",
77584
+ "properties": {
77585
+ "id": {
77586
+ "type": "number",
77587
+ "description": "Macro ID"
77588
+ },
77589
+ "title": {
77590
+ "type": "string",
77591
+ "description": "Macro title/name"
77592
+ },
77593
+ "description": {
77594
+ "type": "string",
77595
+ "nullable": true,
77596
+ "description": "Macro description"
77597
+ },
77598
+ "active": {
77599
+ "type": "boolean",
77600
+ "description": "Whether the macro is active"
77601
+ },
77602
+ "actions": {
77603
+ "type": "array",
77604
+ "items": {
77605
+ "type": "object",
77606
+ "properties": {
77607
+ "field": {
77608
+ "type": "string",
77609
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\")"
77610
+ },
77611
+ "value": {
77612
+ "anyOf": [
77613
+ {
77614
+ "type": "string"
77615
+ },
77616
+ {
77617
+ "type": "number"
77618
+ },
77619
+ {
77620
+ "type": "boolean"
77621
+ },
77622
+ {
77623
+ "type": "array",
77624
+ "items": {
77625
+ "type": "string"
77626
+ }
77627
+ },
77628
+ {
77629
+ "enum": [
77630
+ "null"
77631
+ ],
77632
+ "nullable": true
77633
+ }
77634
+ ],
77635
+ "nullable": true,
77636
+ "description": "The value to set for this field"
77637
+ }
77638
+ },
77639
+ "required": [
77640
+ "field",
77641
+ "value"
77642
+ ],
77643
+ "additionalProperties": false,
77644
+ "description": "A single action within a Zendesk macro"
77645
+ },
77646
+ "description": "List of actions this macro performs"
77647
+ },
77648
+ "restriction": {
77649
+ "type": "object",
77650
+ "properties": {
77651
+ "type": {
77652
+ "type": "string"
77653
+ },
77654
+ "id": {
77655
+ "type": "number"
77656
+ },
77657
+ "ids": {
77658
+ "type": "array",
77659
+ "items": {
77660
+ "type": "number"
77661
+ }
77662
+ }
77663
+ },
77664
+ "additionalProperties": false,
77665
+ "nullable": true,
77666
+ "description": "Access restriction (e.g., limited to a group)"
77667
+ },
77668
+ "created_at": {
77669
+ "type": "string",
77670
+ "description": "Created timestamp"
77671
+ },
77672
+ "updated_at": {
77673
+ "type": "string",
77674
+ "description": "Updated timestamp"
77675
+ }
77676
+ },
77677
+ "required": [
77678
+ "id"
77679
+ ],
77680
+ "additionalProperties": false,
77681
+ "description": "Created macro"
77682
+ },
77683
+ "error": {
77684
+ "type": "string",
77685
+ "description": "Error message if operation failed"
77686
+ }
77687
+ },
77688
+ "required": [
77689
+ "operation",
77690
+ "success",
77691
+ "error"
77692
+ ],
77693
+ "additionalProperties": false
77694
+ },
77695
+ {
77696
+ "type": "object",
77697
+ "properties": {
77698
+ "operation": {
77699
+ "type": "string",
77700
+ "enum": [
77701
+ "update_macro"
77702
+ ]
77703
+ },
77704
+ "success": {
77705
+ "type": "boolean",
77706
+ "description": "Whether the operation was successful"
77707
+ },
77708
+ "macro": {
77709
+ "type": "object",
77710
+ "properties": {
77711
+ "id": {
77712
+ "type": "number",
77713
+ "description": "Macro ID"
77714
+ },
77715
+ "title": {
77716
+ "type": "string",
77717
+ "description": "Macro title/name"
77718
+ },
77719
+ "description": {
77720
+ "type": "string",
77721
+ "nullable": true,
77722
+ "description": "Macro description"
77723
+ },
77724
+ "active": {
77725
+ "type": "boolean",
77726
+ "description": "Whether the macro is active"
77727
+ },
77728
+ "actions": {
77729
+ "type": "array",
77730
+ "items": {
77731
+ "type": "object",
77732
+ "properties": {
77733
+ "field": {
77734
+ "type": "string",
77735
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\")"
77736
+ },
77737
+ "value": {
77738
+ "anyOf": [
77739
+ {
77740
+ "type": "string"
77741
+ },
77742
+ {
77743
+ "type": "number"
77744
+ },
77745
+ {
77746
+ "type": "boolean"
77747
+ },
77748
+ {
77749
+ "type": "array",
77750
+ "items": {
77751
+ "type": "string"
77752
+ }
77753
+ },
77754
+ {
77755
+ "enum": [
77756
+ "null"
77757
+ ],
77758
+ "nullable": true
77759
+ }
77760
+ ],
77761
+ "nullable": true,
77762
+ "description": "The value to set for this field"
77763
+ }
77764
+ },
77765
+ "required": [
77766
+ "field",
77767
+ "value"
77768
+ ],
77769
+ "additionalProperties": false,
77770
+ "description": "A single action within a Zendesk macro"
77771
+ },
77772
+ "description": "List of actions this macro performs"
77773
+ },
77774
+ "restriction": {
77775
+ "type": "object",
77776
+ "properties": {
77777
+ "type": {
77778
+ "type": "string"
77779
+ },
77780
+ "id": {
77781
+ "type": "number"
77782
+ },
77783
+ "ids": {
77784
+ "type": "array",
77785
+ "items": {
77786
+ "type": "number"
77787
+ }
77788
+ }
77789
+ },
77790
+ "additionalProperties": false,
77791
+ "nullable": true,
77792
+ "description": "Access restriction (e.g., limited to a group)"
77793
+ },
77794
+ "created_at": {
77795
+ "type": "string",
77796
+ "description": "Created timestamp"
77797
+ },
77798
+ "updated_at": {
77799
+ "type": "string",
77800
+ "description": "Updated timestamp"
77801
+ }
77802
+ },
77803
+ "required": [
77804
+ "id"
77805
+ ],
77806
+ "additionalProperties": false,
77807
+ "description": "Updated macro"
77808
+ },
77809
+ "error": {
77810
+ "type": "string",
77811
+ "description": "Error message if operation failed"
77812
+ }
77813
+ },
77814
+ "required": [
77815
+ "operation",
77816
+ "success",
77817
+ "error"
77818
+ ],
77819
+ "additionalProperties": false
77820
+ },
77821
+ {
77822
+ "type": "object",
77823
+ "properties": {
77824
+ "operation": {
77825
+ "type": "string",
77826
+ "enum": [
77827
+ "delete_macro"
77828
+ ]
77829
+ },
77830
+ "success": {
77831
+ "type": "boolean",
77832
+ "description": "Whether the operation was successful"
77833
+ },
77834
+ "error": {
77835
+ "type": "string",
77836
+ "description": "Error message if operation failed"
77837
+ }
77838
+ },
77839
+ "required": [
77840
+ "operation",
77841
+ "success",
77842
+ "error"
77843
+ ],
77844
+ "additionalProperties": false
77845
+ },
77846
+ {
77847
+ "type": "object",
77848
+ "properties": {
77849
+ "operation": {
77850
+ "type": "string",
77851
+ "enum": [
77852
+ "search_macros"
77853
+ ]
77854
+ },
77855
+ "success": {
77856
+ "type": "boolean",
77857
+ "description": "Whether the operation was successful"
77858
+ },
77859
+ "macros": {
77860
+ "type": "array",
77861
+ "items": {
77862
+ "type": "object",
77863
+ "properties": {
77864
+ "id": {
77865
+ "type": "number",
77866
+ "description": "Macro ID"
77867
+ },
77868
+ "title": {
77869
+ "type": "string",
77870
+ "description": "Macro title/name"
77871
+ },
77872
+ "description": {
77873
+ "type": "string",
77874
+ "nullable": true,
77875
+ "description": "Macro description"
77876
+ },
77877
+ "active": {
77878
+ "type": "boolean",
77879
+ "description": "Whether the macro is active"
77880
+ },
77881
+ "actions": {
77882
+ "type": "array",
77883
+ "items": {
77884
+ "type": "object",
77885
+ "properties": {
77886
+ "field": {
77887
+ "type": "string",
77888
+ "description": "The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\")"
77889
+ },
77890
+ "value": {
77891
+ "anyOf": [
77892
+ {
77893
+ "type": "string"
77894
+ },
77895
+ {
77896
+ "type": "number"
77897
+ },
77898
+ {
77899
+ "type": "boolean"
77900
+ },
77901
+ {
77902
+ "type": "array",
77903
+ "items": {
77904
+ "type": "string"
77905
+ }
77906
+ },
77907
+ {
77908
+ "enum": [
77909
+ "null"
77910
+ ],
77911
+ "nullable": true
77912
+ }
77913
+ ],
77914
+ "nullable": true,
77915
+ "description": "The value to set for this field"
77916
+ }
77917
+ },
77918
+ "required": [
77919
+ "field",
77920
+ "value"
77921
+ ],
77922
+ "additionalProperties": false,
77923
+ "description": "A single action within a Zendesk macro"
77924
+ },
77925
+ "description": "List of actions this macro performs"
77926
+ },
77927
+ "restriction": {
77928
+ "type": "object",
77929
+ "properties": {
77930
+ "type": {
77931
+ "type": "string"
77932
+ },
77933
+ "id": {
77934
+ "type": "number"
77935
+ },
77936
+ "ids": {
77937
+ "type": "array",
77938
+ "items": {
77939
+ "type": "number"
77940
+ }
77941
+ }
77942
+ },
77943
+ "additionalProperties": false,
77944
+ "nullable": true,
77945
+ "description": "Access restriction (e.g., limited to a group)"
77946
+ },
77947
+ "created_at": {
77948
+ "type": "string",
77949
+ "description": "Created timestamp"
77950
+ },
77951
+ "updated_at": {
77952
+ "type": "string",
77953
+ "description": "Updated timestamp"
77954
+ }
77955
+ },
77956
+ "required": [
77957
+ "id"
77958
+ ],
77959
+ "additionalProperties": false,
77960
+ "description": "A Zendesk macro"
77961
+ },
77962
+ "description": "Matching macros"
77963
+ },
77964
+ "count": {
77965
+ "type": "number",
77966
+ "description": "Total result count"
77967
+ },
77968
+ "next_page": {
77969
+ "type": "string",
77970
+ "nullable": true,
77971
+ "description": "Next page URL"
77972
+ },
77973
+ "error": {
77974
+ "type": "string",
77975
+ "description": "Error message if operation failed"
77976
+ }
77977
+ },
77978
+ "required": [
77979
+ "operation",
77980
+ "success",
77981
+ "error"
77982
+ ],
77983
+ "additionalProperties": false
76815
77984
  }
76816
77985
  ]
76817
77986
  },
76818
- "usageExample": "// List Tickets example\nconst zendesk_list_tickets = new ZendeskBubble({\n operation: \"list_tickets\", // List tickets with optional filters\n status: \"new\" // options: \"new\", \"open\", \"pending\", \"hold\", \"solved\", \"closed\", // Filter by ticket status\n sort_by: \"created_at\" // options: \"created_at\", \"updated_at\", \"priority\", \"status\", // Sort field (default: updated_at)\n sort_order: \"asc\" // options: \"asc\", \"desc\", // Sort order (default: desc)\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_tickets.action();\n// outputSchema for result.data when operation === 'list_tickets':\n// {\n// operation: \"list_tickets\",\n// success: boolean // Whether the operation was successful,\n// tickets: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp }[] | undefined // List of tickets,\n// count: number | undefined // Total ticket count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Ticket example\nconst zendesk_get_ticket = new ZendeskBubble({\n operation: \"get_ticket\", // Retrieve a single ticket by ID with full details\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n});\n\nconst result = await zendesk_get_ticket.action();\n// outputSchema for result.data when operation === 'get_ticket':\n// {\n// operation: \"get_ticket\",\n// success: boolean // Whether the operation was successful,\n// ticket: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Retrieved ticket,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Ticket example\nconst zendesk_create_ticket = new ZendeskBubble({\n operation: \"create_ticket\", // Create a new support ticket\n subject: \"example string\", // Ticket subject line\n body: \"example string\", // Ticket description / initial comment body\n requester_email: \"example string\", // Email of the requester (creates user if not found)\n requester_name: \"example string\", // Name of the requester (used when creating a new requester alongside email)\n assignee_id: 42, // Agent ID to assign the ticket to\n priority: \"urgent\" // options: \"urgent\", \"high\", \"normal\", \"low\", // Ticket priority\n type: \"problem\" // options: \"problem\", \"incident\", \"question\", \"task\", // Ticket type\n tags: [\"example string\"], // Tags to apply to the ticket\n custom_fields: [{ id: 42 // Custom ticket field ID, value: [\"example string\"] // Field value. For dropdowns use the tag name, for multiselect use an array of tag names, for dates use \"YYYY-MM-DD\" }], // Custom field values. Use list_ticket_fields to discover available fields and their IDs.\n});\n\nconst result = await zendesk_create_ticket.action();\n// outputSchema for result.data when operation === 'create_ticket':\n// {\n// operation: \"create_ticket\",\n// success: boolean // Whether the operation was successful,\n// ticket: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Created ticket,\n// error: string // Error message if operation failed\n// }\n\n\n// Update Ticket example\nconst zendesk_update_ticket = new ZendeskBubble({\n operation: \"update_ticket\", // Update a ticket: add a reply/comment, change status, priority, or assignee\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n comment: \"example string\", // Comment body to add to the ticket (public reply or internal note)\n public: true // default, // Whether the comment is public (visible to requester) or internal note (default: true)\n status: \"new\" // options: \"new\", \"open\", \"pending\", \"hold\", \"solved\", \"closed\", // Set new ticket status\n priority: \"urgent\" // options: \"urgent\", \"high\", \"normal\", \"low\", // Set new ticket priority\n assignee_id: 42, // Reassign ticket to this agent ID\n tags: [\"example string\"], // Replace ticket tags with this list\n custom_fields: [{ id: 42 // Custom ticket field ID, value: [\"example string\"] // Field value. For dropdowns use the tag name, for multiselect use an array of tag names, for dates use \"YYYY-MM-DD\" }], // Custom field values to set. Use list_ticket_fields to discover available fields and their IDs.\n});\n\nconst result = await zendesk_update_ticket.action();\n// outputSchema for result.data when operation === 'update_ticket':\n// {\n// operation: \"update_ticket\",\n// success: boolean // Whether the operation was successful,\n// ticket: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Updated ticket,\n// error: string // Error message if operation failed\n// }\n\n\n// List Ticket Comments example\nconst zendesk_list_ticket_comments = new ZendeskBubble({\n operation: \"list_ticket_comments\", // List comments/replies on a ticket\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n sort_order: \"asc\" // options: \"asc\", \"desc\", // Sort order for comments (default: asc — oldest first)\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_ticket_comments.action();\n// outputSchema for result.data when operation === 'list_ticket_comments':\n// {\n// operation: \"list_ticket_comments\",\n// success: boolean // Whether the operation was successful,\n// comments: { id: number // Comment ID, body: string | undefined // Comment body text, html_body: string | undefined // Comment body HTML, public: boolean | undefined // Whether comment is public, author_id: number | undefined // Author user ID, created_at: string | undefined // Created timestamp }[] | undefined // List of comments,\n// count: number | undefined // Total comment count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// List Users example\nconst zendesk_list_users = new ZendeskBubble({\n operation: \"list_users\", // List or search users\n query: \"example string\", // Search query (name or email)\n role: \"end-user\" // options: \"end-user\", \"agent\", \"admin\", // Filter by user role\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_users.action();\n// outputSchema for result.data when operation === 'list_users':\n// {\n// operation: \"list_users\",\n// success: boolean // Whether the operation was successful,\n// users: { id: number // User ID, name: string | undefined // User name, email: string | undefined // User email, role: string | undefined // User role (end-user, agent, admin), organization_id: number | undefined | null // Organization ID, active: boolean | undefined // Whether user is active, created_at: string | undefined // Created timestamp }[] | undefined // List of users,\n// count: number | undefined // Total user count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get User example\nconst zendesk_get_user = new ZendeskBubble({\n operation: \"get_user\", // Retrieve a single user by ID\n user_id: \"example string\", // Zendesk user ID (numeric string)\n});\n\nconst result = await zendesk_get_user.action();\n// outputSchema for result.data when operation === 'get_user':\n// {\n// operation: \"get_user\",\n// success: boolean // Whether the operation was successful,\n// user: { id: number // User ID, name: string | undefined // User name, email: string | undefined // User email, role: string | undefined // User role (end-user, agent, admin), organization_id: number | undefined | null // Organization ID, active: boolean | undefined // Whether user is active, created_at: string | undefined // Created timestamp } | undefined // Retrieved user,\n// error: string // Error message if operation failed\n// }\n\n\n// List Organizations example\nconst zendesk_list_organizations = new ZendeskBubble({\n operation: \"list_organizations\", // List or search organizations\n query: \"example string\", // Search by organization name or external ID\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_organizations.action();\n// outputSchema for result.data when operation === 'list_organizations':\n// {\n// operation: \"list_organizations\",\n// success: boolean // Whether the operation was successful,\n// organizations: { id: number // Organization ID, name: string | undefined // Organization name, domain_names: string[] | undefined // Associated domain names, external_id: string | undefined | null // External ID, created_at: string | undefined // Created timestamp }[] | undefined // List of organizations,\n// count: number | undefined // Total organization count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Organization example\nconst zendesk_get_organization = new ZendeskBubble({\n operation: \"get_organization\", // Retrieve a single organization by ID\n organization_id: \"example string\", // Zendesk organization ID (numeric string)\n});\n\nconst result = await zendesk_get_organization.action();\n// outputSchema for result.data when operation === 'get_organization':\n// {\n// operation: \"get_organization\",\n// success: boolean // Whether the operation was successful,\n// organization: { id: number // Organization ID, name: string | undefined // Organization name, domain_names: string[] | undefined // Associated domain names, external_id: string | undefined | null // External ID, created_at: string | undefined // Created timestamp } | undefined // Retrieved organization,\n// error: string // Error message if operation failed\n// }\n\n\n// Search example\nconst zendesk_search = new ZendeskBubble({\n operation: \"search\", // Unified search across tickets, users, and organizations using Zendesk query syntax\n query: \"example string\", // Zendesk search query (e.g., \"type:ticket status:open\", \"type:user email:john@example.com\")\n sort_by: \"updated_at\" // options: \"updated_at\", \"created_at\", \"priority\", \"status\", \"ticket_type\", // Sort field\n sort_order: \"asc\" // options: \"asc\", \"desc\", // Sort order (default: desc)\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_search.action();\n// outputSchema for result.data when operation === 'search':\n// {\n// operation: \"search\",\n// success: boolean // Whether the operation was successful,\n// results: Record<string, unknown>[] | undefined // Search results (mixed types),\n// count: number | undefined // Total result count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// List Articles example\nconst zendesk_list_articles = new ZendeskBubble({\n operation: \"list_articles\", // List or search Help Center articles\n query: \"example string\", // Search query for articles\n section_id: \"example string\", // Filter articles by section ID\n category_id: \"example string\", // Filter articles by category ID\n locale: \"example string\", // Filter by locale (e.g., \"en-us\")\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_articles.action();\n// outputSchema for result.data when operation === 'list_articles':\n// {\n// operation: \"list_articles\",\n// success: boolean // Whether the operation was successful,\n// articles: { id: number // Article ID, title: string | undefined // Article title, body: string | undefined // Article body HTML, locale: string | undefined // Article locale, section_id: number | undefined // Section ID, author_id: number | undefined // Author user ID, draft: boolean | undefined // Whether article is a draft, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp }[] | undefined // List of articles,\n// count: number | undefined // Total article count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Article example\nconst zendesk_get_article = new ZendeskBubble({\n operation: \"get_article\", // Retrieve a single Help Center article by ID with body content\n article_id: \"example string\", // Zendesk Help Center article ID\n locale: \"example string\", // Locale for the article (e.g., \"en-us\")\n});\n\nconst result = await zendesk_get_article.action();\n// outputSchema for result.data when operation === 'get_article':\n// {\n// operation: \"get_article\",\n// success: boolean // Whether the operation was successful,\n// article: { id: number // Article ID, title: string | undefined // Article title, body: string | undefined // Article body HTML, locale: string | undefined // Article locale, section_id: number | undefined // Section ID, author_id: number | undefined // Author user ID, draft: boolean | undefined // Whether article is a draft, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Retrieved article,\n// error: string // Error message if operation failed\n// }\n\n\n// List Ticket Fields example\nconst zendesk_list_ticket_fields = new ZendeskBubble({\n operation: \"list_ticket_fields\", // List all ticket fields (system and custom) to discover field IDs, types, and allowed values\n});\n\nconst result = await zendesk_list_ticket_fields.action();\n// outputSchema for result.data when operation === 'list_ticket_fields':\n// {\n// operation: \"list_ticket_fields\",\n// success: boolean // Whether the operation was successful,\n// ticket_fields: { id: number // Field ID, type: string // Field type (text, textarea, checkbox, date, integer, decimal, tagger, multiselect, etc.), title: string // Field display title, description: string | undefined | null // Field description, active: boolean | undefined // Whether the field is active, required: boolean | undefined // Whether the field is required, custom_field_options: { name: string // Display name of the option, value: string // Tag value to use when setting this field }[] | undefined | null // Available options for dropdown/tagger/multiselect fields }[] | undefined // List of ticket fields,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Ticket Field example\nconst zendesk_create_ticket_field = new ZendeskBubble({\n operation: \"create_ticket_field\", // Create a new custom ticket field (admin only)\n type: \"text\" // options: \"text\", \"textarea\", \"checkbox\", \"date\", \"integer\", \"decimal\", \"regexp\", \"partialcreditcard\", \"multiselect\", \"tagger\", \"lookup\", // Field type\n title: \"example string\", // Field display title\n description: \"example string\", // Field description\n required: true, // Whether agents must fill this field to mark a ticket as solved\n active: true // default, // Whether field is active\n custom_field_options: [{ name: \"example string\" // Display name of the option, value: \"example string\" // Tag value for this option }], // Options for tagger/multiselect fields. Each option needs a display name and a tag value.\n tag: \"example string\", // Tag added when checkbox is selected (checkbox type only)\n regexp_for_validation: \"example string\", // Validation regex (regexp type only)\n});\n\nconst result = await zendesk_create_ticket_field.action();\n// outputSchema for result.data when operation === 'create_ticket_field':\n// {\n// operation: \"create_ticket_field\",\n// success: boolean // Whether the operation was successful,\n// ticket_field: { id: number // Created field ID, type: string // Field type, title: string // Field title, active: boolean | undefined // Whether field is active, required: boolean | undefined // Whether field is required, custom_field_options: { name: string, value: string }[] | undefined | null } | undefined // Created ticket field,\n// error: string // Error message if operation failed\n// }\n\n\n// Delete Ticket Field example\nconst zendesk_delete_ticket_field = new ZendeskBubble({\n operation: \"delete_ticket_field\", // Delete a custom ticket field (admin only). System fields cannot be deleted.\n ticket_field_id: \"example string\", // ID of the ticket field to delete\n});\n\nconst result = await zendesk_delete_ticket_field.action();\n// outputSchema for result.data when operation === 'delete_ticket_field':\n// {\n// operation: \"delete_ticket_field\",\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`zendesk failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
77987
+ "usageExample": "// List Tickets example\nconst zendesk_list_tickets = new ZendeskBubble({\n operation: \"list_tickets\", // List tickets with optional filters\n status: \"new\" // options: \"new\", \"open\", \"pending\", \"hold\", \"solved\", \"closed\", // Filter by ticket status\n sort_by: \"created_at\" // options: \"created_at\", \"updated_at\", \"priority\", \"status\", // Sort field (default: updated_at)\n sort_order: \"asc\" // options: \"asc\", \"desc\", // Sort order (default: desc)\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_tickets.action();\n// outputSchema for result.data when operation === 'list_tickets':\n// {\n// operation: \"list_tickets\",\n// success: boolean // Whether the operation was successful,\n// tickets: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp }[] | undefined // List of tickets,\n// count: number | undefined // Total ticket count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Ticket example\nconst zendesk_get_ticket = new ZendeskBubble({\n operation: \"get_ticket\", // Retrieve a single ticket by ID with full details\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n});\n\nconst result = await zendesk_get_ticket.action();\n// outputSchema for result.data when operation === 'get_ticket':\n// {\n// operation: \"get_ticket\",\n// success: boolean // Whether the operation was successful,\n// ticket: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Retrieved ticket,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Ticket example\nconst zendesk_create_ticket = new ZendeskBubble({\n operation: \"create_ticket\", // Create a new support ticket\n subject: \"example string\", // Ticket subject line\n body: \"example string\", // Ticket description / initial comment body\n requester_email: \"example string\", // Email of the requester (creates user if not found)\n requester_name: \"example string\", // Name of the requester (used when creating a new requester alongside email)\n assignee_id: 42, // Agent ID to assign the ticket to\n priority: \"urgent\" // options: \"urgent\", \"high\", \"normal\", \"low\", // Ticket priority\n type: \"problem\" // options: \"problem\", \"incident\", \"question\", \"task\", // Ticket type\n tags: [\"example string\"], // Tags to apply to the ticket\n custom_fields: [{ id: 42 // Custom ticket field ID, value: [\"example string\"] // Field value. For dropdowns use the tag name, for multiselect use an array of tag names, for dates use \"YYYY-MM-DD\" }], // Custom field values. Use list_ticket_fields to discover available fields and their IDs.\n});\n\nconst result = await zendesk_create_ticket.action();\n// outputSchema for result.data when operation === 'create_ticket':\n// {\n// operation: \"create_ticket\",\n// success: boolean // Whether the operation was successful,\n// ticket: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Created ticket,\n// error: string // Error message if operation failed\n// }\n\n\n// Update Ticket example\nconst zendesk_update_ticket = new ZendeskBubble({\n operation: \"update_ticket\", // Update a ticket: add a reply/comment, change status, priority, or assignee\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n comment: \"example string\", // Comment body to add to the ticket (public reply or internal note)\n public: true // default, // Whether the comment is public (visible to requester) or internal note (default: true)\n status: \"new\" // options: \"new\", \"open\", \"pending\", \"hold\", \"solved\", \"closed\", // Set new ticket status\n priority: \"urgent\" // options: \"urgent\", \"high\", \"normal\", \"low\", // Set new ticket priority\n assignee_id: 42, // Reassign ticket to this agent ID\n tags: [\"example string\"], // Replace ticket tags with this list\n custom_fields: [{ id: 42 // Custom ticket field ID, value: [\"example string\"] // Field value. For dropdowns use the tag name, for multiselect use an array of tag names, for dates use \"YYYY-MM-DD\" }], // Custom field values to set. Use list_ticket_fields to discover available fields and their IDs.\n});\n\nconst result = await zendesk_update_ticket.action();\n// outputSchema for result.data when operation === 'update_ticket':\n// {\n// operation: \"update_ticket\",\n// success: boolean // Whether the operation was successful,\n// ticket: { id: number // Ticket ID, subject: string | undefined // Ticket subject, description: string | undefined // Ticket description, status: string | undefined // Ticket status, priority: string | undefined | null // Ticket priority, type: string | undefined | null // Ticket type, requester_id: number | undefined // Requester user ID, assignee_id: number | undefined | null // Assignee user ID, organization_id: number | undefined | null // Organization ID, tags: string[] | undefined // Ticket tags, custom_fields: { id: number, value: unknown | null }[] | undefined // Custom field values on the ticket, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Updated ticket,\n// error: string // Error message if operation failed\n// }\n\n\n// List Ticket Comments example\nconst zendesk_list_ticket_comments = new ZendeskBubble({\n operation: \"list_ticket_comments\", // List comments/replies on a ticket\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n sort_order: \"asc\" // options: \"asc\", \"desc\", // Sort order for comments (default: asc — oldest first)\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_ticket_comments.action();\n// outputSchema for result.data when operation === 'list_ticket_comments':\n// {\n// operation: \"list_ticket_comments\",\n// success: boolean // Whether the operation was successful,\n// comments: { id: number // Comment ID, body: string | undefined // Comment body text, html_body: string | undefined // Comment body HTML, public: boolean | undefined // Whether comment is public, author_id: number | undefined // Author user ID, created_at: string | undefined // Created timestamp }[] | undefined // List of comments,\n// count: number | undefined // Total comment count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// List Users example\nconst zendesk_list_users = new ZendeskBubble({\n operation: \"list_users\", // List or search users\n query: \"example string\", // Search query (name or email)\n role: \"end-user\" // options: \"end-user\", \"agent\", \"admin\", // Filter by user role\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_users.action();\n// outputSchema for result.data when operation === 'list_users':\n// {\n// operation: \"list_users\",\n// success: boolean // Whether the operation was successful,\n// users: { id: number // User ID, name: string | undefined // User name, email: string | undefined // User email, role: string | undefined // User role (end-user, agent, admin), organization_id: number | undefined | null // Organization ID, active: boolean | undefined // Whether user is active, created_at: string | undefined // Created timestamp }[] | undefined // List of users,\n// count: number | undefined // Total user count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get User example\nconst zendesk_get_user = new ZendeskBubble({\n operation: \"get_user\", // Retrieve a single user by ID\n user_id: \"example string\", // Zendesk user ID (numeric string)\n});\n\nconst result = await zendesk_get_user.action();\n// outputSchema for result.data when operation === 'get_user':\n// {\n// operation: \"get_user\",\n// success: boolean // Whether the operation was successful,\n// user: { id: number // User ID, name: string | undefined // User name, email: string | undefined // User email, role: string | undefined // User role (end-user, agent, admin), organization_id: number | undefined | null // Organization ID, active: boolean | undefined // Whether user is active, created_at: string | undefined // Created timestamp } | undefined // Retrieved user,\n// error: string // Error message if operation failed\n// }\n\n\n// List Organizations example\nconst zendesk_list_organizations = new ZendeskBubble({\n operation: \"list_organizations\", // List or search organizations\n query: \"example string\", // Search by organization name or external ID\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_organizations.action();\n// outputSchema for result.data when operation === 'list_organizations':\n// {\n// operation: \"list_organizations\",\n// success: boolean // Whether the operation was successful,\n// organizations: { id: number // Organization ID, name: string | undefined // Organization name, domain_names: string[] | undefined // Associated domain names, external_id: string | undefined | null // External ID, created_at: string | undefined // Created timestamp }[] | undefined // List of organizations,\n// count: number | undefined // Total organization count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Organization example\nconst zendesk_get_organization = new ZendeskBubble({\n operation: \"get_organization\", // Retrieve a single organization by ID\n organization_id: \"example string\", // Zendesk organization ID (numeric string)\n});\n\nconst result = await zendesk_get_organization.action();\n// outputSchema for result.data when operation === 'get_organization':\n// {\n// operation: \"get_organization\",\n// success: boolean // Whether the operation was successful,\n// organization: { id: number // Organization ID, name: string | undefined // Organization name, domain_names: string[] | undefined // Associated domain names, external_id: string | undefined | null // External ID, created_at: string | undefined // Created timestamp } | undefined // Retrieved organization,\n// error: string // Error message if operation failed\n// }\n\n\n// Search example\nconst zendesk_search = new ZendeskBubble({\n operation: \"search\", // Unified search across tickets, users, and organizations using Zendesk query syntax\n query: \"example string\", // Zendesk search query (e.g., \"type:ticket status:open\", \"type:user email:john@example.com\")\n sort_by: \"updated_at\" // options: \"updated_at\", \"created_at\", \"priority\", \"status\", \"ticket_type\", // Sort field\n sort_order: \"asc\" // options: \"asc\", \"desc\", // Sort order (default: desc)\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_search.action();\n// outputSchema for result.data when operation === 'search':\n// {\n// operation: \"search\",\n// success: boolean // Whether the operation was successful,\n// results: Record<string, unknown>[] | undefined // Search results (mixed types),\n// count: number | undefined // Total result count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// List Articles example\nconst zendesk_list_articles = new ZendeskBubble({\n operation: \"list_articles\", // List or search Help Center articles\n query: \"example string\", // Search query for articles\n section_id: \"example string\", // Filter articles by section ID\n category_id: \"example string\", // Filter articles by category ID\n locale: \"example string\", // Filter by locale (e.g., \"en-us\")\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_articles.action();\n// outputSchema for result.data when operation === 'list_articles':\n// {\n// operation: \"list_articles\",\n// success: boolean // Whether the operation was successful,\n// articles: { id: number // Article ID, title: string | undefined // Article title, body: string | undefined // Article body HTML, locale: string | undefined // Article locale, section_id: number | undefined // Section ID, author_id: number | undefined // Author user ID, draft: boolean | undefined // Whether article is a draft, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp }[] | undefined // List of articles,\n// count: number | undefined // Total article count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Article example\nconst zendesk_get_article = new ZendeskBubble({\n operation: \"get_article\", // Retrieve a single Help Center article by ID with body content\n article_id: \"example string\", // Zendesk Help Center article ID\n locale: \"example string\", // Locale for the article (e.g., \"en-us\")\n});\n\nconst result = await zendesk_get_article.action();\n// outputSchema for result.data when operation === 'get_article':\n// {\n// operation: \"get_article\",\n// success: boolean // Whether the operation was successful,\n// article: { id: number // Article ID, title: string | undefined // Article title, body: string | undefined // Article body HTML, locale: string | undefined // Article locale, section_id: number | undefined // Section ID, author_id: number | undefined // Author user ID, draft: boolean | undefined // Whether article is a draft, created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Retrieved article,\n// error: string // Error message if operation failed\n// }\n\n\n// List Ticket Fields example\nconst zendesk_list_ticket_fields = new ZendeskBubble({\n operation: \"list_ticket_fields\", // List all ticket fields (system and custom) to discover field IDs, types, and allowed values\n});\n\nconst result = await zendesk_list_ticket_fields.action();\n// outputSchema for result.data when operation === 'list_ticket_fields':\n// {\n// operation: \"list_ticket_fields\",\n// success: boolean // Whether the operation was successful,\n// ticket_fields: { id: number // Field ID, type: string // Field type (text, textarea, checkbox, date, integer, decimal, tagger, multiselect, etc.), title: string // Field display title, description: string | undefined | null // Field description, active: boolean | undefined // Whether the field is active, required: boolean | undefined // Whether the field is required, custom_field_options: { name: string // Display name of the option, value: string // Tag value to use when setting this field }[] | undefined | null // Available options for dropdown/tagger/multiselect fields }[] | undefined // List of ticket fields,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Ticket Field example\nconst zendesk_create_ticket_field = new ZendeskBubble({\n operation: \"create_ticket_field\", // Create a new custom ticket field (admin only)\n type: \"text\" // options: \"text\", \"textarea\", \"checkbox\", \"date\", \"integer\", \"decimal\", \"regexp\", \"partialcreditcard\", \"multiselect\", \"tagger\", \"lookup\", // Field type\n title: \"example string\", // Field display title\n description: \"example string\", // Field description\n required: true, // Whether agents must fill this field to mark a ticket as solved\n active: true // default, // Whether field is active\n custom_field_options: [{ name: \"example string\" // Display name of the option, value: \"example string\" // Tag value for this option }], // Options for tagger/multiselect fields. Each option needs a display name and a tag value.\n tag: \"example string\", // Tag added when checkbox is selected (checkbox type only)\n regexp_for_validation: \"example string\", // Validation regex (regexp type only)\n});\n\nconst result = await zendesk_create_ticket_field.action();\n// outputSchema for result.data when operation === 'create_ticket_field':\n// {\n// operation: \"create_ticket_field\",\n// success: boolean // Whether the operation was successful,\n// ticket_field: { id: number // Created field ID, type: string // Field type, title: string // Field title, active: boolean | undefined // Whether field is active, required: boolean | undefined // Whether field is required, custom_field_options: { name: string, value: string }[] | undefined | null } | undefined // Created ticket field,\n// error: string // Error message if operation failed\n// }\n\n\n// Delete Ticket Field example\nconst zendesk_delete_ticket_field = new ZendeskBubble({\n operation: \"delete_ticket_field\", // Delete a custom ticket field (admin only). System fields cannot be deleted.\n ticket_field_id: \"example string\", // ID of the ticket field to delete\n});\n\nconst result = await zendesk_delete_ticket_field.action();\n// outputSchema for result.data when operation === 'delete_ticket_field':\n// {\n// operation: \"delete_ticket_field\",\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n\n// List Macros example\nconst zendesk_list_macros = new ZendeskBubble({\n operation: \"list_macros\", // List available macros. Optionally filter by active status or category.\n active: true, // Filter by active status (true = active only, false = inactive only)\n category: \"example string\", // Filter macros by category name\n include: \"usage_7d\" // options: \"usage_7d\", \"usage_24h\", \"usage_30d\", // Include usage statistics for the given period\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_list_macros.action();\n// outputSchema for result.data when operation === 'list_macros':\n// {\n// operation: \"list_macros\",\n// success: boolean // Whether the operation was successful,\n// macros: { id: number // Macro ID, title: string | undefined // Macro title/name, description: string | undefined | null // Macro description, active: boolean | undefined // Whether the macro is active, actions: { field: string // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\"), value: unknown | null // The value to set for this field }[] | undefined // List of actions this macro performs, restriction: { type: string | undefined, id: number | undefined, ids: number[] | undefined } | undefined | null // Access restriction (e.g., limited to a group), created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp }[] | undefined // List of macros,\n// count: number | undefined // Total macro count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Get Macro example\nconst zendesk_get_macro = new ZendeskBubble({\n operation: \"get_macro\", // Retrieve a single macro by ID with its full action definitions\n macro_id: \"example string\", // Zendesk macro ID (numeric string)\n});\n\nconst result = await zendesk_get_macro.action();\n// outputSchema for result.data when operation === 'get_macro':\n// {\n// operation: \"get_macro\",\n// success: boolean // Whether the operation was successful,\n// macro: { id: number // Macro ID, title: string | undefined // Macro title/name, description: string | undefined | null // Macro description, active: boolean | undefined // Whether the macro is active, actions: { field: string // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\"), value: unknown | null // The value to set for this field }[] | undefined // List of actions this macro performs, restriction: { type: string | undefined, id: number | undefined, ids: number[] | undefined } | undefined | null // Access restriction (e.g., limited to a group), created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Retrieved macro,\n// error: string // Error message if operation failed\n// }\n\n\n// Apply Macro example\nconst zendesk_apply_macro = new ZendeskBubble({\n operation: \"apply_macro\", // Apply a macro to a ticket. Returns the resulting ticket changes (comment text, field updates) without actually modifying the ticket. Use this to preview what a macro would do, then use update_ticket to apply the changes.\n ticket_id: \"example string\", // Zendesk ticket ID (numeric string)\n macro_id: \"example string\", // Zendesk macro ID to apply\n});\n\nconst result = await zendesk_apply_macro.action();\n// outputSchema for result.data when operation === 'apply_macro':\n// {\n// operation: \"apply_macro\",\n// success: boolean // Whether the operation was successful,\n// result: { ticket: Record<string, unknown> | undefined // Ticket fields that would be changed, comment: { body: string | undefined // Comment body text the macro would add, html_body: string | undefined // Comment body HTML the macro would add, public: boolean | undefined // Whether the comment would be public, scoped_body: string[][] | undefined // Scoped comment bodies (locale-specific) } | undefined // Comment that the macro would add to the ticket } | undefined // The result of applying the macro — shows what would change,\n// error: string // Error message if operation failed\n// }\n\n\n// Create Macro example\nconst zendesk_create_macro = new ZendeskBubble({\n operation: \"create_macro\", // Create a new macro with a title and a set of actions\n title: \"example string\", // Macro title\n actions: [{ field: \"example string\" // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\", \"group_id\"), value: [\"example string\"] // The value to set for this field }], // Actions the macro performs. Each action has a field name and value (e.g., {field: \"comment_value\", value: \"Thanks for contacting us!\"})\n active: true // default, // Whether the macro is active (default: true)\n description: \"example string\", // Macro description\n restriction: { type: \"example string\" // Restriction type (e.g., \"Group\"), id: 42 // Restriction target ID, ids: [42] // Restriction target IDs }, // Access restriction (e.g., limit to a specific group)\n});\n\nconst result = await zendesk_create_macro.action();\n// outputSchema for result.data when operation === 'create_macro':\n// {\n// operation: \"create_macro\",\n// success: boolean // Whether the operation was successful,\n// macro: { id: number // Macro ID, title: string | undefined // Macro title/name, description: string | undefined | null // Macro description, active: boolean | undefined // Whether the macro is active, actions: { field: string // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\"), value: unknown | null // The value to set for this field }[] | undefined // List of actions this macro performs, restriction: { type: string | undefined, id: number | undefined, ids: number[] | undefined } | undefined | null // Access restriction (e.g., limited to a group), created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Created macro,\n// error: string // Error message if operation failed\n// }\n\n\n// Update Macro example\nconst zendesk_update_macro = new ZendeskBubble({\n operation: \"update_macro\", // Update an existing macro\n macro_id: \"example string\", // Zendesk macro ID to update (numeric string)\n title: \"example string\", // New macro title\n actions: [{ field: \"example string\" // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\", \"group_id\"), value: [\"example string\"] // The value to set for this field }], // New actions for the macro\n active: true, // Set active status\n description: \"example string\", // New macro description\n restriction: { type: \"example string\" // Restriction type (e.g., \"Group\"), id: 42 // Restriction target ID, ids: [42] // Restriction target IDs }, // Access restriction\n});\n\nconst result = await zendesk_update_macro.action();\n// outputSchema for result.data when operation === 'update_macro':\n// {\n// operation: \"update_macro\",\n// success: boolean // Whether the operation was successful,\n// macro: { id: number // Macro ID, title: string | undefined // Macro title/name, description: string | undefined | null // Macro description, active: boolean | undefined // Whether the macro is active, actions: { field: string // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\"), value: unknown | null // The value to set for this field }[] | undefined // List of actions this macro performs, restriction: { type: string | undefined, id: number | undefined, ids: number[] | undefined } | undefined | null // Access restriction (e.g., limited to a group), created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp } | undefined // Updated macro,\n// error: string // Error message if operation failed\n// }\n\n\n// Delete Macro example\nconst zendesk_delete_macro = new ZendeskBubble({\n operation: \"delete_macro\", // Delete a macro (admin only)\n macro_id: \"example string\", // ID of the macro to delete\n});\n\nconst result = await zendesk_delete_macro.action();\n// outputSchema for result.data when operation === 'delete_macro':\n// {\n// operation: \"delete_macro\",\n// success: boolean // Whether the operation was successful,\n// error: string // Error message if operation failed\n// }\n\n\n// Search Macros example\nconst zendesk_search_macros = new ZendeskBubble({\n operation: \"search_macros\", // Search macros by title keyword\n query: \"example string\", // Search query (matches macro title)\n active: true, // Filter by active status\n include: \"usage_7d\" // options: \"usage_7d\", \"usage_24h\", \"usage_30d\", // Include usage statistics for the given period\n page: 1 // default, // Page number for pagination (default 1)\n per_page: 25 // default, // Results per page (1-100, default 25)\n});\n\nconst result = await zendesk_search_macros.action();\n// outputSchema for result.data when operation === 'search_macros':\n// {\n// operation: \"search_macros\",\n// success: boolean // Whether the operation was successful,\n// macros: { id: number // Macro ID, title: string | undefined // Macro title/name, description: string | undefined | null // Macro description, active: boolean | undefined // Whether the macro is active, actions: { field: string // The ticket field this action targets (e.g., \"comment_value\", \"status\", \"priority\", \"assignee_id\"), value: unknown | null // The value to set for this field }[] | undefined // List of actions this macro performs, restriction: { type: string | undefined, id: number | undefined, ids: number[] | undefined } | undefined | null // Access restriction (e.g., limited to a group), created_at: string | undefined // Created timestamp, updated_at: string | undefined // Updated timestamp }[] | undefined // Matching macros,\n// count: number | undefined // Total result count,\n// next_page: string | undefined | null // Next page URL,\n// error: string // Error message if operation failed\n// }\n\n\n// Always check success status before using data\nif (!result.success) {\n throw new Error(`zendesk failed: ${result.error}`);\n}\n\n// Access the actual data\nconst actualData = result.data;\nconsole.log(actualData);",
76819
77988
  "requiredCredentials": [
76820
77989
  "ZENDESK_CRED"
76821
77990
  ]