@apteva/integrations 0.15.6 → 0.15.8

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.
@@ -912,6 +912,76 @@
912
912
  }
913
913
  }
914
914
  }
915
+ },
916
+ {
917
+ "name": "update_promoted_tweet",
918
+ "description": "Update a promoted tweet/ad association status where supported by the account.",
919
+ "method": "PUT",
920
+ "path": "/update-promoted-tweet",
921
+ "input_schema": {
922
+ "type": "object",
923
+ "properties": {
924
+ "account_id": {
925
+ "type": "string"
926
+ },
927
+ "promoted_tweet_id": {
928
+ "type": "string"
929
+ },
930
+ "entity_status": {
931
+ "type": "string",
932
+ "enum": [
933
+ "ACTIVE",
934
+ "PAUSED"
935
+ ]
936
+ }
937
+ },
938
+ "required": [
939
+ "account_id",
940
+ "promoted_tweet_id"
941
+ ]
942
+ }
943
+ },
944
+ {
945
+ "name": "delete_promoted_tweet",
946
+ "description": "Delete a promoted tweet/ad association.",
947
+ "method": "DELETE",
948
+ "path": "/delete-promoted-tweet",
949
+ "input_schema": {
950
+ "type": "object",
951
+ "properties": {
952
+ "account_id": {
953
+ "type": "string"
954
+ },
955
+ "promoted_tweet_id": {
956
+ "type": "string"
957
+ }
958
+ },
959
+ "required": [
960
+ "account_id",
961
+ "promoted_tweet_id"
962
+ ]
963
+ }
964
+ },
965
+ {
966
+ "name": "delete_line_item",
967
+ "description": "Delete/archive a line item/ad group.",
968
+ "method": "DELETE",
969
+ "path": "/delete-line-item",
970
+ "input_schema": {
971
+ "type": "object",
972
+ "properties": {
973
+ "account_id": {
974
+ "type": "string"
975
+ },
976
+ "line_item_id": {
977
+ "type": "string"
978
+ }
979
+ },
980
+ "required": [
981
+ "account_id",
982
+ "line_item_id"
983
+ ]
984
+ }
915
985
  }
916
986
  ]
917
- }
987
+ }
@@ -22,11 +22,125 @@
22
22
  "credential_fields": [
23
23
  {
24
24
  "name": "token",
25
- "label": "API Key"
25
+ "label": "Bearer JWT",
26
+ "description": "Vonage Voice API JWT. Generate from a Vonage application private key with voice capability enabled.",
27
+ "type": "password",
28
+ "required": true
29
+ },
30
+ {
31
+ "name": "phone_number",
32
+ "label": "Default From Number",
33
+ "description": "Default Vonage phone number to call from, in E.164 format without leading '+'."
26
34
  }
27
35
  ]
28
36
  },
29
37
  "tools": [
38
+ {
39
+ "name": "create_voice_call",
40
+ "description": "Create a Vonage Voice API call using official /v1/calls. For AI voice agents, provide ncco with a connect action whose endpoint type is websocket.",
41
+ "method": "POST",
42
+ "base_url": "https://api.nexmo.com/v1",
43
+ "path": "/calls",
44
+ "input_schema": {
45
+ "type": "object",
46
+ "properties": {
47
+ "to": {
48
+ "type": "array",
49
+ "description": "Vonage endpoint array, e.g. [{\"type\":\"phone\",\"number\":\"14155551234\"}]."
50
+ },
51
+ "from": {
52
+ "type": "object",
53
+ "description": "Vonage from endpoint, e.g. {\"type\":\"phone\",\"number\":\"14155550100\"}."
54
+ },
55
+ "ncco": {
56
+ "type": "array",
57
+ "description": "NCCO call control array. Use connect/websocket endpoint for live bidirectional audio."
58
+ },
59
+ "answer_url": {
60
+ "type": "array",
61
+ "description": "Optional URL array returning NCCO."
62
+ },
63
+ "event_url": {
64
+ "type": "array",
65
+ "description": "Optional webhook URL array for call events."
66
+ },
67
+ "machine_detection": {
68
+ "type": "string",
69
+ "enum": [
70
+ "continue",
71
+ "hangup"
72
+ ]
73
+ },
74
+ "random_from_number": {
75
+ "type": "boolean"
76
+ }
77
+ },
78
+ "required": [
79
+ "to",
80
+ "from"
81
+ ]
82
+ },
83
+ "mock_response": {
84
+ "uuid": "mock-call-uuid",
85
+ "status": "started",
86
+ "direction": "outbound"
87
+ }
88
+ },
89
+ {
90
+ "name": "update_voice_call",
91
+ "description": "Transfer or redirect a Vonage Voice API call to a new NCCO or answer URL.",
92
+ "method": "PUT",
93
+ "base_url": "https://api.nexmo.com/v1",
94
+ "path": "/calls/{uuid}",
95
+ "input_schema": {
96
+ "type": "object",
97
+ "properties": {
98
+ "uuid": {
99
+ "type": "string"
100
+ },
101
+ "action": {
102
+ "type": "string",
103
+ "enum": [
104
+ "transfer"
105
+ ],
106
+ "default": "transfer"
107
+ },
108
+ "destination": {
109
+ "type": "object",
110
+ "description": "Transfer destination, e.g. {\"type\":\"ncco\",\"ncco\":[...]} or {\"type\":\"url\",\"url\":[...]}"
111
+ }
112
+ },
113
+ "required": [
114
+ "uuid",
115
+ "destination"
116
+ ]
117
+ }
118
+ },
119
+ {
120
+ "name": "hangup_voice_call",
121
+ "description": "Hang up a Vonage Voice API call.",
122
+ "method": "PUT",
123
+ "base_url": "https://api.nexmo.com/v1",
124
+ "path": "/calls/{uuid}",
125
+ "input_schema": {
126
+ "type": "object",
127
+ "properties": {
128
+ "uuid": {
129
+ "type": "string"
130
+ },
131
+ "action": {
132
+ "type": "string",
133
+ "enum": [
134
+ "hangup"
135
+ ],
136
+ "default": "hangup"
137
+ }
138
+ },
139
+ "required": [
140
+ "uuid"
141
+ ]
142
+ }
143
+ },
30
144
  {
31
145
  "name": "make_call",
32
146
  "description": "Make an outbound voice call using Vonage Voice API. Supports TTS (text-to-speech), NCCO (call control), or answer URL for webhooks.",
@@ -391,4 +505,4 @@
391
505
  }
392
506
  }
393
507
  ]
394
- }
508
+ }
@@ -623,6 +623,60 @@
623
623
  "success": true
624
624
  }
625
625
  },
626
+ {
627
+ "name": "set_thumbnail",
628
+ "description": "Upload and set a custom thumbnail image for an existing YouTube video. This is the YouTube Data API thumbnails.set endpoint: it is separate from video upload/update, requires a videoId, and sends the image bytes as the request body. Supported image types: JPEG or PNG; YouTube's documented maximum thumbnail upload size is 2 MB. The channel must be allowed to use custom thumbnails.",
629
+ "method": "POST",
630
+ "path": "https://www.googleapis.com/upload/youtube/v3/thumbnails/set",
631
+ "body_binary_param": "image",
632
+ "query_params": [
633
+ "videoId",
634
+ "onBehalfOfContentOwner"
635
+ ],
636
+ "input_schema": {
637
+ "type": "object",
638
+ "properties": {
639
+ "videoId": {
640
+ "type": "string",
641
+ "description": "YouTube video ID whose custom thumbnail should be set."
642
+ },
643
+ "image": {
644
+ "type": "string",
645
+ "description": "Thumbnail image bytes as a blobref:// handle or runtime binary envelope. Do not inline base64 manually. JPEG or PNG, max 2 MB."
646
+ },
647
+ "onBehalfOfContentOwner": {
648
+ "type": "string",
649
+ "description": "Optional YouTube CMS content owner. Intended only for YouTube content partners."
650
+ }
651
+ },
652
+ "required": [
653
+ "videoId",
654
+ "image"
655
+ ]
656
+ },
657
+ "mock_response": {
658
+ "kind": "youtube#thumbnailSetResponse",
659
+ "items": [
660
+ {
661
+ "default": {
662
+ "url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/default.jpg",
663
+ "width": 120,
664
+ "height": 90
665
+ },
666
+ "medium": {
667
+ "url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/mqdefault.jpg",
668
+ "width": 320,
669
+ "height": 180
670
+ },
671
+ "high": {
672
+ "url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
673
+ "width": 480,
674
+ "height": 360
675
+ }
676
+ }
677
+ ]
678
+ }
679
+ },
626
680
  {
627
681
  "name": "upload_video_init",
628
682
  "description": "Step 1 of YouTube's resumable video upload protocol. POSTs the video metadata (title, description, privacy, category) to the upload host and gets back a session URL in the Location response header. The caller (typically the social app's publishYoutube flow) then PUTs the actual video bytes to that session URL — that step does NOT go through this integration because Google's session URLs are pre-authorized (no Bearer header needed). Note: the path is absolute because YouTube's upload endpoint lives at googleapis.com/upload/youtube/v3, not the read API host.",