Custom API
Connect any HTTPS API: store its base URL and auth header in the vault, then call it via the request action. Outbound calls are SSRF-guarded (https-only, public hosts only, no redirects).
Connect
Auth type: Credentials form (custom_auth). Fill in the fields the provider needs (listed below). They are stored encrypted in the vault.
- 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.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("custom_http", "request", {
"method": "<method>",
"path": "<path>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Custom API answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "custom-http-request",
name: "Custom API: HTTP Request",
description: "Calls Custom API when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("custom_http", {
"action": "request",
"method": "<method>",
"path": "<path>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/custom_http/request" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"method":"<method>","path":"<path>"}}'Actions
requestin catalogbuilt in
HTTP Request. Call the connected API: props { method, path, body?, query? }. Path is resolved against the vaulted base URL; the vaulted secret is sent in the configured header.
| Input | Type | Description |
|---|---|---|
methodrequired | text | GET|POST|PUT|PATCH|DELETE |
pathrequired | text | Path starting with / |
bodyoptional | object | JSON body for write methods |
Details
- Id
custom_http- Category
- Developer tools
- Tags
- custom, http, api
- Package
built in (Appbricx)- Tier
- Community