Cartloom
List products from your Cartloom storefront.
On this page
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.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("cartloom", "create_discount", {
"title": "<title>",
"enabled": true,
"auto": true,
"unlimited": true,
"selfDestruct": true,
"applyOnce": true,
"type": "fixed",
"amount": 1,
"target": "product",
"startDate": "2026-10-12T09:00:00Z",
"stopDate": "2026-10-12T09:00:00Z"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Cartloom answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "cartloom-create-discount",
name: "Cartloom: Create Discount",
description: "Calls Cartloom when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("cartloom", {
"action": "create_discount",
"title": "<title>",
"enabled": true,
"auto": true,
"unlimited": true,
"selfDestruct": true,
"applyOnce": true,
"type": "fixed",
"amount": 1,
"target": "product",
"startDate": "2026-10-12T09:00:00Z",
"stopDate": "2026-10-12T09:00:00Z"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/cartloom/create_discount" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"title":"<title>","enabled":true,"auto":true,"unlimited":true,"selfDestruct":true,"applyOnce":true,"type":"fixed","amount":1,"target":"product","startDate":"2026-10-12T09:00:00Z","stopDate":"2026-10-12T09:00:00Z"}}'Actions
create_discountin catalog
Create Discount. Create a discount in Cartloom
| Input | Type | Description |
|---|---|---|
titlerequired | text | Enter the title of the discount |
enabledrequired | boolean | Is this discount enabled? |
autorequired | boolean | Is this discount automatically applied? |
unlimitedrequired | boolean | Is this discount unlimited? |
selfDestructrequired | boolean | Remove the discount after use |
applyOncerequired | boolean | Apply the discount once per order |
typerequired | one of "fixed" | "percent" | Select the type of discount |
amountrequired | number | Enter the amount of the discount |
targetrequired | one of "product" | "total" | "all" | Select the target of the discount |
startDaterequired | date-time (ISO) | The start date of the discount. YYYY-MM-DD HH:MM:SS |
stopDaterequired | date-time (ISO) | The stop date of the discount. YYYY-MM-DD HH:MM:SS |
codeoptional | text | Enter the discount code. Leave blank for no code. |
targetPidsoptional | ids (picked from your account) | Select the products to apply the discount to |
targetAmountoptional | number | The target amount for the discount when the target is set to Total |
targetQuantityoptional | number | The target quantity for the discount when the target is set to All or Products |
allowanceoptional | number | The number of times the discount can be used |
get_all_discountsin catalog
Get All Discounts. Get a list of discounts from Cartloom
No input.
get_discountin catalog
Get Discount. Get discount info from Cartloom
| Input | Type | Description |
|---|---|---|
discountIdrequired | text | Enter the ID of the discount you want to retrieve |
get_orderin catalog
Get Order. Get an order from Cartloom
| Input | Type | Description |
|---|---|---|
invoicerequired | text | The invoice ID for the order you want to retrieve |
get_orders_by_datein catalog
Get Order by Date. Get a list of orders from Cartloom within a date range
| Input | Type | Description |
|---|---|---|
startrequired | date-time (ISO) | Select a date to start the search |
endoptional | date-time (ISO) | Select a date to end the search. Defaults to today. |
get_orders_by_emailin catalog
Get Order by Email. Get a list of orders for an email within a date range
| Input | Type | Description |
|---|---|---|
startrequired | date-time (ISO) | Select a date to start the search |
endoptional | date-time (ISO) | Select a date to end the search. Defaults to today. |
emailrequired | text | Email address to search for. |
custom_api_call
Custom API Call. Make a custom API call to a specific endpoint
| Input | Type | Description |
|---|---|---|
urlrequired | object (depends on other props) | url |
methodrequired | one of "GET" | "POST" | "PATCH" | "PUT" | "DELETE" | "HEAD" | Method |
headersrequired | object | Authorization headers are injected automatically from your connection. |
queryParamsrequired | object | Query Parameters |
body_typeoptional | one of "none" | "json" | "form_data" | "raw" | Body Type |
bodyoptional | object (depends on other props) | Body |
response_is_binaryoptional | boolean | Enable for files like PDFs, images, etc. |
failsafeoptional | boolean | No Error on Failure |
timeoutoptional | number | Timeout (in seconds) |
followRedirectsoptional | boolean | Follow redirects |
get_products
Get Products. Get a list of products from Cartloom
No input.
Details
- Id
cartloom- Category
- E-commerce
- Tags
- store, products, simple-commerce
- Package
@activepieces/piece-cartloom@0.1.4- Tier
- Community