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

Buttondown

Create and list subscribers in your Buttondown newsletter.

MarketingAPI key4 actionsAll integrations

On this page
  1. Connect
  2. Call it from a workflow
  3. Actions (4)
  4. createSubscriber
  5. listSubscribers
  6. custom_api_call
  7. sendEmail
  8. 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("buttondown", "createSubscriber", {
    "email": "<email address>"
  });
  if (!res.success) throw new Error(res.error);
  ctx.log.info("Buttondown answered", { output: res.output });
}
defineWorkflow module
// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";

export default defineWorkflow({
  id: "buttondown-createsubscriber",
  name: "Buttondown: Create Subscriber",
  description: "Calls Buttondown when a row is created.",
  trigger: { type: "entity_event", entity: "tickets", event: "created" },
  async run(ctx, event) {
    const res = await ctx.integrations.call("buttondown", {
      "action": "createSubscriber",
      "email": "<email address>"
    }) 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/buttondown/createSubscriber" \
  -H "Authorization: Bearer $APP_KEY" \
  -H "content-type: application/json" \
  -d '{"props":{"email":"<email address>"}}'

Actions

createSubscriberin catalog

Create Subscriber. Create a new subscriber in Buttondown.

Also accepted as create_subscriber.

InputTypeDescription
emailrequiredtextThe email address of the subscriber.
typeoptionalone of "regular" | "premium" | "unactivated" | "paused" | "trialed" | "upcoming" | "churning" | "churned" | "unsubscribed" | "undeliverable" | "blocked" | "complained"Set the subscriber status. Use "regular" to bypass double opt-in.
notesoptionallong textInternal Notes
tagsoptionalarrayAdd one or more tags to assign to the subscriber.
metadataoptionalJSONCustom metadata to store on the subscriber (JSON object).
referrerUrloptionaltextReferrer URL
utmSourceoptionaltextUTM Source
utmMediumoptionaltextUTM Medium
utmCampaignoptionaltextUTM Campaign
referringSubscriberIdoptionaltextID of the subscriber who referred this contact.
ipAddressoptionaltextThe original IP address of the subscriber. Helps Buttondown evaluate spam.
collisionBehavioroptionalone of "overwrite" | "add"Control how Buttondown handles duplicate email addresses. Leave empty to keep the existing subscriber.
bypassFirewalloptionalbooleanSet to true when the request originates from a trusted internal system without the subscriber's IP address.

listSubscribersin catalog

List Subscribers. Retrieve subscribers from Buttondown.

Also accepted as list_subscribers.

InputTypeDescription
limitoptionalnumberMaximum number of subscribers to return (1-1000).
cursoroptionaltextProvide the cursor value from a previous response to fetch the next page.
typeoptionalone of "regular" | "premium" | "unactivated" | "paused" | "trialed" | "upcoming" | "churning" | "churned" | "unsubscribed" | "undeliverable" | "blocked" | "complained"Subscriber Type
sourceoptionalone of "admin" | "api" | "carrd" | "comment" | "embedded_form" | "form" | "import" | "memberful" | "organic" | "patreon" | "stripe" | "user"Source
tagsoptionalarrayFilter by subscribers who have at least one of these tags.
emailAddressoptionaltextReturn subscribers whose email address contains this value.
referrerUrloptionaltextReferrer URL Contains
orderingoptionalone of "-creation_date" | "creation_date" | "email_address" | "-email_address" | "-last_open_date" | "last_open_date"Ordering

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

sendEmail

Send Email. Send an email to your Buttondown subscribers.

InputTypeDescription
subjectrequiredtextSubject
bodyrequiredlong textWrite your email content in Markdown or HTML. Buttondown will detect the format automatically.
statusoptionalone of "about_to_send" | "draft" | "scheduled"Choose how Buttondown should treat this email after creation.
publishDateoptionaldate-time (ISO)Required when scheduling an email. Use ISO 8601 format.
emailTypeoptionalone of "public" | "private" | "premium" | "free" | "churned" | "archival"Email Type
descriptionoptionallong textDescription
canonicalUrloptionaltextCanonical URL
imageoptionaltextPrimary Image URL
slugoptionaltextOverride the automatic slug used for the archive URL.
metadataoptionalJSONCustom metadata to attach to the email (JSON object).
attachmentsoptionalarrayIDs of attachments uploaded via the Buttondown API.
triggerBillingoptionalbooleanEnable when this email should count against pay-per-email billing for paid subscribers.

Details

Id
buttondown
Category
Marketing
Tags
email, newsletter, simple, indie
Package
@activepieces/piece-buttondown@0.0.2
Tier
Community

On this page

  1. Connect
  2. Call it from a workflow
  3. Actions (4)
  4. createSubscriber
  5. listSubscribers
  6. custom_api_call
  7. sendEmail
  8. 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