Appbricx
Docs
FeaturesPricingStart free

Get started

OverviewWhat Appbricx isQuickstart with a coding agentQuickstart with the builderCore concepts

Guides

Data and tablesAccess and rolesBusiness rulesSign-inCustom screensRealtime and topicsWorkflows, schedules and webhooksServer functionsAI in your appPaymentsFilesMessagesIntegrationsVerifyPublishing, domains and rollbackOperating your appExport and self-hostSelf-host install

Tutorials

Build a booking app with Claude CodeMulti-user todo listClient portalSlack on new sign-upTemplates

Reference

Reference homeFrontend SDKHTTP APIMCP toolsCLIIntegrations catalogContract formatAI key resolutionRun Appbricx locally

Amazon S3

Upload, download, list, and delete objects in Amazon S3 buckets.

Data and storageCredentials form7 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (7)
  4. upload-file
  5. decrypt-pgp-file
  6. deleteFile
  7. generate-signed-url
  8. list-files
  9. moveFile
  10. read-file
  11. Details

Connect

Auth type: Credentials form (custom_auth). Fill in the fields the provider needs (listed below). They are stored encrypted in the vault.

FieldTypeDescription
accessKeyIdrequiredtextAWS access key ID
secretAccessKeyrequiredsecretAWS secret access key
regionrequiredtextAWS region (e.g. us-east-1)
  • In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
  • For every project in a workspace: Workspace settings, Integrations.
  • Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.

Call it from a workflow

Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.

Native workflow
// .workflow.js (native ctx)
export async function run(ctx) {
  const res = await ctx.integrations.invoke("amazon-s3", "upload-file", {
    "file": "<file>"
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("Amazon S3 answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "amazon-s3-upload-file",
  name: "Amazon S3: Upload File",
  description: "Calls Amazon S3 when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("amazon-s3", {
      "action": "upload-file",
      "file": "<file>"
    }) as { success: boolean; error?: string };
    if (!res.success) throw new Error(res.error);
  },
});
From an app (connector proxy)
curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/amazon-s3/upload-file" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"file":"<file>"}}'

Actions

upload-filein catalog

Upload File. Upload an File to S3

Also accepted as upload_file.

InputTypeDescription
filerequiredfileFile
fileNameoptionaltextThe File Name to use, if not set the API will try to figure out the file name.
acloptionalone of "private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"ACL
typeoptionaltextContent Type of the uploaded file, if not set the API will try to figure out the content type.

decrypt-pgp-file

Decrypt PGP File. Decrypt a PGP encrypted file from S3 using a private key stored in AWS Secrets Manager

InputTypeDescription
keyrequiredtextThe key (path) of the encrypted file in S3
secretArnrequiredtextThe ARN of the secret in AWS Secrets Manager containing the PGP private key
passphraseArnoptionaltextOptional ARN of the secret in AWS Secrets Manager containing the passphrase for the private key (if the key is encrypted)
secretsManagerRegionoptionaltextThe AWS region where the Secrets Manager secret is stored (defaults to S3 region if not provided)
allowUnauthenticatedMessagesoptionalbooleanAllow decryption of messages without integrity protection (no MDC). WARNING: Without MDC, a malicious actor can silently modify the ciphertext, so the decrypted output may have been tampered with. On…
allowInsecureDecryptionWithSigningKeysoptionalbooleanAllow decryption using a key not marked for encryption (e.g. a signing-only key). Enable this if your PGP key was not flagged for encryption use.

deleteFile

Delete File. Deletes an existing file.

InputTypeDescription
keyrequiredtextThe key of the file to delete.

generate-signed-url

Generate signed URL. Generate a signed URL for a file in a s3 bucket

InputTypeDescription
keyrequiredtextThe path/filename of the file to get
expiresInrequirednumberHow long the URL should remain valid (in minutes).

list-files

List Files. List all files from an S3 bucket folder/prefix.

InputTypeDescription
prefixoptionaltextThe folder path to list files from (e.g., "folder/"). Leave empty to list from root.
maxKeysoptionalnumberMaximum number of files to return (1-1000)

moveFile

Move File. Move a File to Another Folder

InputTypeDescription
fileKeyrequiredtextThe key of the file to move
folderKeyrequiredtextThe key of the folder to move the file to

read-file

Read File. Read a file from S3 to use it in other steps

InputTypeDescription
keyrequiredtextThe key of the file to read

Details

Id
amazon-s3
Category
Data and storage
Tags
storage, cloud, aws, files, objects
Package
@activepieces/piece-amazon-s3@0.5.5
Tier
Built in

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (7)
  4. upload-file
  5. decrypt-pgp-file
  6. deleteFile
  7. generate-signed-url
  8. list-files
  9. moveFile
  10. read-file
  11. Details
Appbricx

The backend, runtime and hosting for apps your coding agent builds. On our cloud, in yours, or on your own servers.

Features

Coding agents and MCPVerify testingBuilder consolePostgres databaseData APIRealtimeRow-level securitySign-in and authPaymentsWorkflows and jobsAI in your appIntegrationsBackups and rollbackHosting and domainsSelf-host and exportAll features

Product

ShowcasePricingFor coding agentsTemplatesPrivate cloudBring your own AI keyFAQ

Compare

Appbricx vs SupabaseLovable alternativeBolt alternativeFor freelancersFor agencies

Resources

DocumentationReferenceBlogSupportContact

© 2026 Appbricx. All rights reserved.

TermsPrivacyCookiesAcceptable Use