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

HeyGen

Create AI-generated videos with virtual avatars using HeyGen.

AI and MLAPI key10 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (10)
  4. list_avatars
  5. create-video-from-template
  6. custom_api_call
  7. list_videos
  8. list_voices
  9. retrieve_sharable_video_url
  10. retrieve_video_status
  11. retrieve-translated-video-status
  12. translate_video
  13. upload_asset
  14. Details

Connect

Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.

  • 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("heygen", "create-video-from-template", {
    "templateId": "<templateId>",
    "title": "<video title>"
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("HeyGen answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "heygen-create-video-from-template",
  name: "HeyGen: Create Video from Template",
  description: "Calls HeyGen when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("heygen", {
      "action": "create-video-from-template",
      "templateId": "<templateId>",
      "title": "<video title>"
    }) 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/heygen/create-video-from-template" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"templateId":"<templateId>","title":"<video title>"}}'

Actions

list_avatarsin catalog

List Avatars. Retrieve a list of all available avatars.

No input.

create-video-from-template

Create Video from Template. Create a video using a selected template.

InputTypeDescription
templateIdrequiredid (picked from your account)Select the template to generate the video.
titlerequiredtextTitle of the generated video.
captionoptionalbooleanEnable Captions
includeGifoptionalbooleanInclude GIF Preview
enableSharingoptionalbooleanEnable Public Sharing
folderIdoptionalid (picked from your account)Select the folder to store the video.
brandVoiceIdoptionalid (picked from your account)Select the Brand Voice to apply to the video.
callbackUrloptionaltextWebhook URL to notify when video rendering is complete.
dimensionWidthoptionalnumberVideo Width
dimensionHeightoptionalnumberVideo Height
variablesoptionalobject (depends on other props)Template Varriables

custom_api_call

Custom API Call. Make a custom API call to a specific endpoint

InputTypeDescription
urlrequiredobject (depends on other props)url
methodrequiredone of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD"Method
headersrequiredobjectAuthorization headers are injected automatically from your connection.
queryParamsrequiredobjectQuery Parameters
body_typeoptionalone of "none" | "json" | "form_data" | "raw"Body Type
bodyoptionalobject (depends on other props)Body
response_is_binaryoptionalbooleanEnable for files like PDFs, images, etc.
failsafeoptionalbooleanNo Error on Failure
timeoutoptionalnumberTimeout (in seconds)
followRedirectsoptionalbooleanFollow redirects

list_videos

List Videos. Retrieve a list of all generated videos.

InputTypeDescription
limitoptionalnumberMaximum number of videos to retrieve (max 100).

list_voices

List Voices. Retrieve a list of all available voices.

No input.

retrieve_sharable_video_url

Retrieve Sharable Video URL. Generates a public URL for a video, allowing it to be shared and accessed publicly.

InputTypeDescription
videoIdrequiredtextThe ID of the video to generate a shareable URL for.

retrieve_video_status

Retrieve Video Status. Retrieve the status and details of a video using its ID.

InputTypeDescription
videoIdrequiredtextThe ID of the video to retrieve the status for.

retrieve-translated-video-status

Retrieve Translated Video Status. Retrieves the status of a translated video.

InputTypeDescription
videoIdrequiredtextThe ID of the translated video to check the status for.

translate_video

Translate Video. Translate a video into 175+ languages with natural voice and lip-sync.

InputTypeDescription
videoUrlrequiredtextURL of the video file to be translated. Supports direct URLs, Google Drive, and YouTube.
titleoptionaltextOptional title of the translated video.
outputLanguagerequiredid (picked from your account)Select the language for video translation.
translateAudioOnlyoptionalbooleanOnly translate the audio without modifying faces.
speakerNumoptionalnumberNumber of speakers in the video (if applicable).
brandVoiceIdoptionalid (picked from your account)Select the Brand Voice to apply to the video.
callbackIdoptionaltextCustom ID returned in webhook callback.
callbackUrloptionaltextURL to notify when translation is complete.

upload_asset

Upload an Asset. Upload media files (images, videos, or audio) to HeyGen. Supports JPEG, PNG, MP4, WEBM, and MPEG files.

InputTypeDescription
filerequiredfileThe file to upload (JPEG, PNG, MP4, WEBM, or MPEG).

Details

Id
heygen
Category
AI and ML
Tags
video, avatar, generation, ai, presentation
Package
@activepieces/piece-heygen@0.1.5
Tier
Community

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (10)
  4. list_avatars
  5. create-video-from-template
  6. custom_api_call
  7. list_videos
  8. list_voices
  9. retrieve_sharable_video_url
  10. retrieve_video_status
  11. retrieve-translated-video-status
  12. translate_video
  13. upload_asset
  14. 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