@upload-post/activepieces-piece 0.1.0

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Upload-Post
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,87 @@
1
+ # Upload-Post piece for Activepieces
2
+
3
+ Publish and schedule videos, photos and text posts to TikTok, Instagram, YouTube,
4
+ LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Google Business Profile, Discord
5
+ and Telegram from your [Activepieces](https://www.activepieces.com) flows, through the
6
+ [Upload-Post](https://www.upload-post.com) API.
7
+
8
+ npm package: `@upload-post/activepieces-piece`
9
+
10
+ ## Install it in Activepieces
11
+
12
+ Requirements: Activepieces **0.82.0 or newer** (self-hosted Community edition works) and
13
+ a user with the platform **Admin** role.
14
+
15
+ 1. Open Activepieces and open **Platform Admin**.
16
+ 2. Go to **Catalogue → Pieces** (on older versions: **Setup → Pieces**).
17
+ 3. Click **Install Piece**.
18
+ 4. Keep **NPM Registry** as the source and fill in:
19
+ - **Piece Name:** `@upload-post/activepieces-piece`
20
+ - **Piece Version:** the version to install, e.g. `0.1.0` (see the
21
+ [npm page](https://www.npmjs.com/package/@upload-post/activepieces-piece) for the latest).
22
+ 5. Click **Install**. The piece appears as **Upload-Post** in the flow builder, for every
23
+ project on the platform.
24
+
25
+ To update, repeat the steps with the new version number.
26
+
27
+ **Offline or air-gapped instances:** download the tarball with
28
+ `npm pack @upload-post/activepieces-piece`, then in **Install Piece** choose
29
+ **Packed Archive (.tgz)** and upload the file.
30
+
31
+ ## Connect your account
32
+
33
+ 1. Sign in at [app.upload-post.com](https://app.upload-post.com).
34
+ 2. Open **API Keys** and click **Create API Key**.
35
+ 3. In Activepieces, add an Upload-Post connection and paste the key. It is checked
36
+ against the API when you save it.
37
+
38
+ Before publishing, connect your social accounts to a profile under **Manage Users** in
39
+ the Upload-Post dashboard. The actions let you pick that profile from a dropdown.
40
+
41
+ ## Actions
42
+
43
+ | Action | What it does |
44
+ | --- | --- |
45
+ | **Upload Video** | Publishes a video from a URL to TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky, Google Business Profile, Discord or Telegram. |
46
+ | **Upload Photos** | Publishes one or more images (carousel where the platform supports it) to the same platforms, except YouTube. |
47
+ | **Upload Text Post** | Publishes a text post (optionally with a link) to LinkedIn, X, Facebook, Threads, Bluesky, Google Business Profile, Discord or Telegram. |
48
+ | **Get Upload Status** | Checks the result of an async or scheduled upload by `request_id` or `job_id`. |
49
+ | **List Profiles** | Lists the Upload-Post profiles on your account and the social accounts connected to each. |
50
+ | **Get Upload History** | Searches past uploads by profile, platform, result, date range or IDs. |
51
+ | **Custom API Call** | Calls any other [Upload-Post API](https://docs.upload-post.com) endpoint with your connection's key. |
52
+
53
+ The upload actions share these options: title, per-platform settings (Pinterest board,
54
+ Facebook page, LinkedIn page…), schedule for a date and timezone, add to your posting
55
+ queue, async upload, first comment and an external ID of your own.
56
+
57
+ ## Development
58
+
59
+ ```bash
60
+ npm install
61
+ npm run build # type-check, then bundle into dist/
62
+ npm run pack:dry # list what would be published
63
+ npm run pack # write the .tgz next to package.json (for "Packed Archive" installs)
64
+ ```
65
+
66
+ The build follows the format Activepieces uses for its own published pieces: a single
67
+ self-contained CommonJS bundle at `dist/src/index.js` with the framework and every
68
+ dependency inlined, so the package has no runtime dependencies. The root
69
+ `package.json` is marked `private` so it cannot be published by mistake; the package
70
+ that goes to npm is `dist/`.
71
+
72
+ ### Publishing
73
+
74
+ ```bash
75
+ npm login # as the npm user that owns the @upload-post scope
76
+ npm version patch --no-git-tag-version # bump the version in package.json
77
+ npm run release # build + npm publish ./dist --access public
78
+ ```
79
+
80
+ ## Links
81
+
82
+ - Upload-Post API docs: https://docs.upload-post.com
83
+ - Activepieces docs on community pieces: https://www.activepieces.com/docs/build-pieces/sharing-pieces/community
84
+
85
+ ## License
86
+
87
+ MIT
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@upload-post/activepieces-piece",
3
+ "version": "0.1.0",
4
+ "description": "Activepieces piece for Upload-Post: publish and schedule videos, photos and text posts to TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky and more.",
5
+ "license": "MIT",
6
+ "author": "Upload-Post <info@upload-post.com>",
7
+ "homepage": "https://www.upload-post.com",
8
+ "keywords": [
9
+ "activepieces",
10
+ "activepieces-piece",
11
+ "upload-post",
12
+ "social-media",
13
+ "tiktok",
14
+ "instagram",
15
+ "youtube",
16
+ "linkedin",
17
+ "automation"
18
+ ],
19
+ "type": "commonjs",
20
+ "main": "./src/index.js",
21
+ "dependencies": {},
22
+ "files": [
23
+ "src/index.js",
24
+ "src/i18n",
25
+ "README.md",
26
+ "LICENSE"
27
+ ]
28
+ }
@@ -0,0 +1,111 @@
1
+ {
2
+ "Upload-Post": "Upload-Post",
3
+ "Publish and schedule videos, photos and text posts to TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky and more with one API.": "Publish and schedule videos, photos and text posts to TikTok, Instagram, YouTube, LinkedIn, Facebook, X, Threads, Pinterest, Bluesky and more with one API.",
4
+ "API Key": "API Key",
5
+ "\n**How to get your Upload-Post API key:**\n\n1. Sign in at [app.upload-post.com](https://app.upload-post.com).\n2. Open **API Keys** in the left menu and click **Create API Key**.\n3. Copy the key and paste it below.\n\nBefore publishing, connect your social accounts to a profile under **Manage Users** in the Upload-Post dashboard.": "\n**How to get your Upload-Post API key:**\n\n1. Sign in at [app.upload-post.com](https://app.upload-post.com).\n2. Open **API Keys** in the left menu and click **Create API Key**.\n3. Copy the key and paste it below.\n\nBefore publishing, connect your social accounts to a profile under **Manage Users** in the Upload-Post dashboard.",
6
+ "Upload Video": "Upload Video",
7
+ "Publish or schedule a video from a public URL to TikTok, Instagram, YouTube, LinkedIn, Facebook, X and more.": "Publish or schedule a video from a public URL to TikTok, Instagram, YouTube, LinkedIn, Facebook, X and more.",
8
+ "Profile": "Profile",
9
+ "The Upload-Post profile whose connected social accounts will publish the post. Profiles are managed under Manage Users in the Upload-Post dashboard.": "The Upload-Post profile whose connected social accounts will publish the post. Profiles are managed under Manage Users in the Upload-Post dashboard.",
10
+ "Platforms": "Platforms",
11
+ "Where to publish. Every selected platform must be connected to the chosen profile.": "Where to publish. Every selected platform must be connected to the chosen profile.",
12
+ "TikTok": "TikTok",
13
+ "Instagram": "Instagram",
14
+ "YouTube": "YouTube",
15
+ "LinkedIn": "LinkedIn",
16
+ "Facebook": "Facebook",
17
+ "X (Twitter)": "X (Twitter)",
18
+ "Threads": "Threads",
19
+ "Pinterest": "Pinterest",
20
+ "Bluesky": "Bluesky",
21
+ "Google Business Profile": "Google Business Profile",
22
+ "Discord": "Discord",
23
+ "Telegram": "Telegram",
24
+ "Video URL": "Video URL",
25
+ "Public URL of the video file (for example an MP4 in cloud storage). Upload-Post downloads it before publishing.": "Public URL of the video file (for example an MP4 in cloud storage). Upload-Post downloads it before publishing.",
26
+ "Title / Caption": "Title / Caption",
27
+ "Default title or caption used on every platform. Required when publishing to YouTube.": "Default title or caption used on every platform. Required when publishing to YouTube.",
28
+ "Schedule For": "Schedule For",
29
+ "Publish at this date and time instead of now (up to 365 days ahead). Leave empty to publish immediately. Cannot be combined with \"Add to Queue\".": "Publish at this date and time instead of now (up to 365 days ahead). Leave empty to publish immediately. Cannot be combined with \"Add to Queue\".",
30
+ "Timezone": "Timezone",
31
+ "IANA timezone used to interpret \"Schedule For\", e.g. `Europe/Madrid` or `America/New_York`. Defaults to UTC.": "IANA timezone used to interpret \"Schedule For\", e.g. `Europe/Madrid` or `America/New_York`. Defaults to UTC.",
32
+ "Add to Queue": "Add to Queue",
33
+ "Schedule the post in the next free slot of the profile's posting queue (configured in the Upload-Post dashboard). Cannot be combined with \"Schedule For\".": "Schedule the post in the next free slot of the profile's posting queue (configured in the Upload-Post dashboard). Cannot be combined with \"Schedule For\".",
34
+ "Process in Background": "Process in Background",
35
+ "Return immediately with a request ID instead of waiting for every platform to finish, and check the result later with \"Get Upload Status\". Turn it off to wait for the per-platform results in this step.": "Return immediately with a request ID instead of waiting for every platform to finish, and check the result later with \"Get Upload Status\". Turn it off to wait for the per-platform results in this step.",
36
+ "First Comment": "First Comment",
37
+ "Optional comment posted automatically right after publishing, on platforms that support it.": "Optional comment posted automatically right after publishing, on platforms that support it.",
38
+ "External ID": "External ID",
39
+ "Your own identifier for this post (max 255 characters). It is echoed back by \"Get Upload Status\" and \"Get Upload History\" so you can match the post to a record in your system.": "Your own identifier for this post (max 255 characters). It is echoed back by \"Get Upload Status\" and \"Get Upload History\" so you can match the post to a record in your system.",
40
+ "Facebook Page": "Facebook Page",
41
+ "The Facebook Page to post to. Needed when Facebook is selected and the profile has more than one Page connected.": "The Facebook Page to post to. Needed when Facebook is selected and the profile has more than one Page connected.",
42
+ "LinkedIn Company Page": "LinkedIn Company Page",
43
+ "Post to this LinkedIn company page. Leave empty to post to the personal LinkedIn profile.": "Post to this LinkedIn company page. Leave empty to post to the personal LinkedIn profile.",
44
+ "Description": "Description",
45
+ "Optional longer text. Used as the LinkedIn commentary, Facebook description, YouTube description and Pinterest note. Ignored by other platforms.": "Optional longer text. Used as the LinkedIn commentary, Facebook description, YouTube description and Pinterest note. Ignored by other platforms.",
46
+ "Pinterest Board": "Pinterest Board",
47
+ "The board to pin to. Required when Pinterest is selected.": "The board to pin to. Required when Pinterest is selected.",
48
+ "Upload Photos": "Upload Photos",
49
+ "Publish or schedule one photo or a carousel from public URLs to Instagram, TikTok, Facebook, LinkedIn, X and more.": "Publish or schedule one photo or a carousel from public URLs to Instagram, TikTok, Facebook, LinkedIn, X and more.",
50
+ "Photo URLs": "Photo URLs",
51
+ "Public URLs of the images, in carousel order. Add more than one to create a carousel.": "Public URLs of the images, in carousel order. Add more than one to create a carousel.",
52
+ "Default title or caption used on every platform.": "Default title or caption used on every platform.",
53
+ "Optional longer text. Used as the TikTok photo description, LinkedIn commentary, Facebook description and Pinterest note. Ignored by other platforms.": "Optional longer text. Used as the TikTok photo description, LinkedIn commentary, Facebook description and Pinterest note. Ignored by other platforms.",
54
+ "Upload Text Post": "Upload Text Post",
55
+ "Publish or schedule a text-only post to LinkedIn, X, Facebook, Threads, Bluesky and more.": "Publish or schedule a text-only post to LinkedIn, X, Facebook, Threads, Bluesky and more.",
56
+ "Text": "Text",
57
+ "The text of the post.": "The text of the post.",
58
+ "Link URL": "Link URL",
59
+ "Optional URL shown as a link preview card on LinkedIn, Bluesky and Facebook.": "Optional URL shown as a link preview card on LinkedIn, Bluesky and Facebook.",
60
+ "Get Upload Status": "Get Upload Status",
61
+ "Check the progress and per-platform results of a background or scheduled upload.": "Check the progress and per-platform results of a background or scheduled upload.",
62
+ "Request ID": "Request ID",
63
+ "The `request_id` returned by an upload with \"Process in Background\" enabled.": "The `request_id` returned by an upload with \"Process in Background\" enabled.",
64
+ "Job ID": "Job ID",
65
+ "The `job_id` returned by a scheduled or queued upload.": "The `job_id` returned by a scheduled or queued upload.",
66
+ "List Profiles": "List Profiles",
67
+ "List your Upload-Post profiles and the social accounts connected to each one.": "List your Upload-Post profiles and the social accounts connected to each one.",
68
+ "Get Upload History": "Get Upload History",
69
+ "Get past uploads with their per-platform result, post URL and error, newest first.": "Get past uploads with their per-platform result, post URL and error, newest first.",
70
+ "Only return uploads of this profile (its username).": "Only return uploads of this profile (its username).",
71
+ "Platform": "Platform",
72
+ "Only return uploads to this platform.": "Only return uploads to this platform.",
73
+ "Result": "Result",
74
+ "Only return successful or only failed uploads.": "Only return successful or only failed uploads.",
75
+ "Successful": "Successful",
76
+ "Failed": "Failed",
77
+ "From": "From",
78
+ "Start of the date range. Requires \"To\"; the range can span at most 2 months.": "Start of the date range. Requires \"To\"; the range can span at most 2 months.",
79
+ "To": "To",
80
+ "End of the date range. Requires \"From\".": "End of the date range. Requires \"From\".",
81
+ "Exact match: only rows produced by this upload request.": "Exact match: only rows produced by this upload request.",
82
+ "Exact match: only rows produced by this scheduled job.": "Exact match: only rows produced by this scheduled job.",
83
+ "Exact match: only rows of the post you tagged with this External ID.": "Exact match: only rows of the post you tagged with this External ID.",
84
+ "Page Size": "Page Size",
85
+ "How many rows to return per page.": "How many rows to return per page.",
86
+ "Page": "Page",
87
+ "Page number, starting at 1.": "Page number, starting at 1.",
88
+ "Custom API Call": "Custom API Call",
89
+ "Make a custom API call to a specific endpoint": "Make a custom API call to a specific endpoint",
90
+ "Method": "Method",
91
+ "GET": "GET",
92
+ "POST": "POST",
93
+ "PATCH": "PATCH",
94
+ "PUT": "PUT",
95
+ "DELETE": "DELETE",
96
+ "HEAD": "HEAD",
97
+ "Headers": "Headers",
98
+ "Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
99
+ "Query Parameters": "Query Parameters",
100
+ "Appended to the URL as ?key=value.": "Appended to the URL as ?key=value.",
101
+ "Body Type": "Body Type",
102
+ "Body": "Body",
103
+ "Response is Binary": "Response is Binary",
104
+ "Enable for files like PDFs, images, etc.": "Enable for files like PDFs, images, etc.",
105
+ "Return Error as Output": "Return Error as Output",
106
+ "On a failed request, output the error instead of failing the step.": "On a failed request, output the error instead of failing the step.",
107
+ "Timeout": "Timeout",
108
+ "Seconds to wait for a response. Empty: up to the flow limit (10 min).": "Seconds to wait for a response. Empty: up to the flow limit (10 min).",
109
+ "Follow redirects": "Follow redirects",
110
+ "Follow 3xx redirects instead of returning them as the response.": "Follow 3xx redirects instead of returning them as the response."
111
+ }