---
canonical: https://amplience.com/developers/docs/workforce/flows/action-reference/commerce-actions/bigcommerce-actions/
title: BigCommerce actions
description: Explore the BigCommerce extension actions for Workforce flows, enabling you to retrieve and search products, categories, and customer groups from BigCommerce as part of automated content processes.
audience: Business User
date_published: 2026-04-13
date_modified: 2026-05-20
---

# BigCommerce actions

The BigCommerce extension provides actions for retrieving product, category, and customer group data from BigCommerce within Workforce Flows. Use these actions to fetch individual records or search and browse products and categories by keyword or category as part of your automated content processes.

The BigCommerce action extension can be installed from the [Workforce integration marketplace](https://amplience.com/developers/docs/workforce/setup/integrations/).

See [BigCommerce configuration](https://amplience.com/developers/docs/workforce/setup/integrations/bigcommerce/) for details of how to obtain the credentials you need to configure the BigCommerce action extension.

> **Tip:** These action descriptions cover the most commonly used inputs and outputs. When designing flows, you may also notice additional input and output variables.

## Get product by ID

Retrieves full product data for a single product by its ID using the BigCommerce Catalog API.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `id` | string | Yes | The unique identifier of the product |
| `include` | string | No | Comma-separated list of sub-resources to include. Allowed values: `bulk_pricing_rules`, `channels`, `custom_fields`, `images`, `modifiers`, `options`, `parent_relations`, `primary_image`, `reviews`, `variants`, `videos` |
| `include_fields` | string | No | Comma-separated list of fields to include. The ID and specified fields will be returned |
| `exclude_fields` | string | No | Comma-separated list of fields to exclude. The ID cannot be excluded |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `product` | object | The full product object. See [product object](#product-object) below |

## Get basic product by ID

Retrieves a simplified set of product data for a single product by its ID using the BigCommerce Catalog API. Use this action when you only need core product fields.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `id` | string | Yes | The unique identifier of the product |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `product.id` | string | Product ID |
| `product.name` | string | Product name |
| `product.description` | string | Description |
| `product.images` | array | List of image objects, each with a `url` field |

## Get products by search term

Retrieves a paginated list of products matching a search term from the BigCommerce Catalog API.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `term` | string | Yes | The search query string used to find matching products |
| `include` | string | No | Comma-separated list of sub-resources to include. Allowed values: `bulk_pricing_rules`, `channels`, `custom_fields`, `images`, `modifiers`, `options`, `parent_relations`, `primary_image`, `reviews`, `variants`, `videos` |
| `include_fields` | string | No | Comma-separated list of fields to include. The ID and specified fields will be returned |
| `exclude_fields` | string | No | Comma-separated list of fields to exclude. The ID cannot be excluded |
| `pagination.page` | string | No | Page number to retrieve. Default: `1` |
| `pagination.limit` | string | No | Number of items per page. Maximum: `20`. Default: `20` |
| `pagination.sort` | string | No | Field to sort by. Allowed values: `id`, `name`, `sku`, `price`, `date_modified`, `date_last_imported`, `inventory_level`, `is_visible`, `total_sold`, `calculated_price` |
| `pagination.direction` | string | No | Sort direction. Accepted values: `asc`, `desc` |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `total` | number | Total number of matching products |
| `count` | number | Number of products returned in this page |
| `perPage` | number | Number of products per page |
| `currentPage` | number | Current page number |
| `totalPages` | number | Total number of pages |
| `nextPage` | number | Next page number |
| `sort` | string | The sort field applied |
| `direction` | string | The sort direction applied |
| `products` | array | List of full product objects. See [product object](#product-object) below |

## Get basic products by optional keyword

Retrieves a cursor-paginated list of products matching an optional keyword from the BigCommerce Catalog API. Intended for use with commerce repositories.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `keyword` | string | No | The search phrase used to find matching products. If omitted, returns all products |
| `before` | string | No | A pagination cursor to retrieve the page of products before a given position. Use the `startCursor` value from a previous response |
| `after` | string | No | A pagination cursor to retrieve the page of products after a given position. Use the `endCursor` value from a previous response |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `pageInfo.startCursor` | string | Cursor for the first item in the current page |
| `pageInfo.endCursor` | string | Cursor for the last item in the current page |
| `pageInfo.hasPreviousPage` | boolean | Whether a previous page exists |
| `pageInfo.hasNextPage` | boolean | Whether a next page exists |
| `products` | array | List of basic product objects, each with `id`, `name`, `description`, and `images` (array of objects with a `url` field) |

## Get products by category ID

Retrieves a paginated list of products belonging to a category using the BigCommerce Catalog API.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `id` | string | Yes | The category ID used to find matching products |
| `include` | string | No | Comma-separated list of sub-resources to include. Allowed values: `bulk_pricing_rules`, `channels`, `custom_fields`, `images`, `modifiers`, `options`, `parent_relations`, `primary_image`, `reviews`, `variants`, `videos` |
| `include_fields` | string | No | Comma-separated list of fields to include. The ID and specified fields will be returned |
| `exclude_fields` | string | No | Comma-separated list of fields to exclude. The ID cannot be excluded |
| `pagination.page` | string | No | Page number to retrieve. Default: `1` |
| `pagination.limit` | string | No | Number of items per page. Maximum: `20`. Default: `20` |
| `pagination.sort` | string | No | Field to sort by. Allowed values: `id`, `name`, `sku`, `price`, `date_modified`, `date_last_imported`, `inventory_level`, `is_visible`, `total_sold`, `calculated_price` |
| `pagination.direction` | string | No | Sort direction. Accepted values: `asc`, `desc` |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `total` | number | Total number of matching products |
| `count` | number | Number of products returned in this page |
| `perPage` | number | Number of products per page |
| `currentPage` | number | Current page number |
| `totalPages` | number | Total number of pages |
| `nextPage` | number | Next page number |
| `sort` | string | The sort field applied |
| `direction` | string | The sort direction applied |
| `products` | array | List of full product objects. See [product object](#product-object) below |

## Get category by ID

Retrieves category data for a single category by its ID using the BigCommerce Catalog API.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `id` | string | Yes | The unique identifier of the category |
| `include_fields` | string | No | Comma-separated list of fields to include. The ID and specified fields will be returned |
| `exclude_fields` | string | No | Comma-separated list of fields to exclude. The ID cannot be excluded |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `category` | object | The category object. See [category object](#category-object) below |

## Get categories by search term

Retrieves a paginated list of categories matching a search term from the BigCommerce Catalog API.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `term` | string | Yes | The search query string used to find matching categories |
| `include_fields` | string | No | Comma-separated list of fields to include. The ID and specified fields will be returned |
| `exclude_fields` | string | No | Comma-separated list of fields to exclude. The ID cannot be excluded |
| `pagination.page` | string | No | Page number to retrieve. Default: `1` |
| `pagination.limit` | string | No | Number of items per page. Maximum: `20`. Default: `20` |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `total` | number | Total number of matching categories |
| `count` | number | Number of categories returned in this page |
| `perPage` | number | Number of categories per page |
| `currentPage` | number | Current page number |
| `totalPages` | number | Total number of pages |
| `nextPage` | number | Next page number |
| `categories` | array | List of category objects. See [category object](#category-object) below |

## Get customer group by ID

Retrieves customer group data for a single customer group by its ID using the BigCommerce API.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `id` | string | Yes | The unique identifier of the customer group |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `customerGroup` | object | The customer group object. See [customer group object](#customer-group-object) below |

## Get customer groups

Retrieves a paginated list of customer groups from the BigCommerce API, with optional filters.

**Inputs**

| Input | Type | Required | Description |
|---|---|---:|---|
| `name` | string | No | Filter by exact name match |
| `name:like` | string | No | Filter by partial name match |
| `is_default` | boolean | No | Filter by whether the group is the default group |
| `is_group_for_guests` | boolean | No | Filter by whether the group is designated for guest customers |
| `date_modified` | string | No | Filter by exact last modified date (ISO-8601 format, e.g. `2023-09-08T15:56:31Z`) |
| `date_modified:min` | string | No | Filter to groups modified on or after this date (ISO-8601 format) |
| `date_modified:max` | string | No | Filter to groups modified on or before this date (ISO-8601 format) |
| `pagination.page` | string | No | Page number to retrieve. Default: `1` |
| `pagination.limit` | string | No | Number of items per page. Maximum: `20`. Default: `20` |

**Outputs**

| Output | Type | Description |
|---|---|---|
| `total` | number | Total number of customer groups |
| `count` | number | Number of customer groups returned in this page |
| `perPage` | number | Number of items per page |
| `currentPage` | number | Current page number |
| `totalPages` | number | Total number of pages |
| `nextPage` | number | Next page number |
| `customerGroups` | array | List of customer group objects. See [customer group object](#customer-group-object) below |

## Product object

The following fields are returned on the `product` output object for actions that return full product data. Sub-resources such as `images`, `variants`, `options`, and `reviews` are only included when requested via the `include` input.

### Core fields

| Field | Type | Description |
|---|---|---|
| `id` | number | Product ID |
| `name` | string | Product name |
| `type` | string | Product type |
| `sku` | string | SKU |
| `description` | string | Product description |
| `warranty` | string | Warranty information |
| `bin_picking_number` | string | Bin picking number |
| `layout_file` | string | Layout file |
| `price` | number | Price |
| `cost_price` | number | Cost price |
| `retail_price` | number | Retail price |
| `sale_price` | number | Sale price |
| `map_price` | number | Minimum advertised price |
| `calculated_price` | number | Calculated price |
| `is_price_hidden` | boolean | Whether the price is hidden |
| `price_hidden_label` | string | Label shown when price is hidden |
| `weight` | number | Weight |
| `width` | number | Width |
| `height` | number | Height |
| `depth` | number | Depth |
| `fixed_cost_shipping_price` | number | Fixed cost shipping price |
| `is_free_shipping` | boolean | Whether shipping is free |
| `tax_class_id` | number | Tax class ID |
| `product_tax_code` | string | Product tax code |
| `inventory_level` | number | Inventory level |
| `inventory_warning_level` | number | Inventory warning level |
| `inventory_tracking` | string | Inventory tracking method |
| `categories` | array of numbers | Category IDs |
| `brand_id` | number | Brand ID |
| `condition` | string | Product condition |
| `is_condition_shown` | boolean | Whether condition is shown |
| `is_visible` | boolean | Whether the product is visible |
| `is_featured` | boolean | Whether the product is featured |
| `related_products` | string | Related products |
| `total_sold` | number | Total units sold |
| `reviews_rating_sum` | number | Sum of review ratings |
| `reviews_count` | number | Number of reviews |
| `order_quantity_minimum` | number | Minimum order quantity |
| `order_quantity_maximum` | number | Maximum order quantity |
| `page_title` | string | SEO page title |
| `meta_keywords` | array of strings | Meta keywords |
| `meta_description` | string | Meta description |
| `search_keywords` | string | Search keywords |
| `upc` | string | UPC code |
| `mpn` | string | Manufacturer part number |
| `gtin` | string | Global Trade Item Number |
| `date_created` | string | Date created |
| `date_modified` | string | Date last modified |
| `date_last_imported` | string | Date last imported |
| `view_count` | number | View count |
| `preorder_release_date` | string | Pre-order release date |
| `preorder_message` | string | Pre-order message |
| `is_preorder_only` | boolean | Whether product is pre-order only |
| `option_set_id` | number | Option set ID |
| `option_set_display` | string | Option set display setting |
| `base_variant_id` | number | Base variant ID |
| `availability` | string | Availability status |
| `availability_description` | string | Availability description |
| `custom_url.url` | string | Custom URL path |
| `custom_url.is_customized` | boolean | Whether the URL is customized |
| `open_graph_type` | string | Open Graph type |
| `open_graph_title` | string | Open Graph title |
| `open_graph_description` | string | Open Graph description |
| `open_graph_use_meta_description` | boolean | Use meta description for Open Graph |
| `open_graph_use_product_name` | boolean | Use product name for Open Graph |
| `open_graph_use_image` | boolean | Use product image for Open Graph |

### Sub-resource fields (via `include`)

| Sub-resource | Type | Fields |
|---|---|---|
| `bulk_pricing_rules` | array | `id` (number), `quantity_min` (number), `quantity_max` (number), `type` (string), `amount` (number) |
| `channels` | array | `channel_id` (number) |
| `custom_fields` | array | `id` (number), `name` (string), `value` (string) |
| `images` | array | `id` (number), `product_id` (number), `is_thumbnail` (boolean), `sort_order` (number), `description` (string), `image_url` (string), `url_zoom` (string), `url_standard` (string), `url_thumbnail` (string), `url_tiny` (string) |
| `primary_image` | object | Same fields as `images` above |
| `modifiers` | array | `id` (number), `name` (string), `display_name` (string), `type` (string), `required` (boolean), `sort_order` (number), `option_values` (array of objects with `id`, `label`, `sort_order`, `is_default`) |
| `options` | array | `id` (number), `display_name` (string), `type` (string), `sort_order` (number), `option_values` (array of objects with `id`, `label`, `sort_order`, `is_default`) |
| `parent_relations` | array | `product_id` (number), `parent_id` (number) |
| `reviews` | array | `id` (number), `product_id` (number), `title` (string), `text` (string), `rating` (number), `status` (string), `email` (string), `name` (string), `date_created` (string) |
| `variants` | array | `id` (number), `product_id` (number), `sku` (string), `price` (number), `cost_price` (number), `retail_price` (number), `sale_price` (number), `calculated_price` (number), `weight` (number), `width` (number), `height` (number), `depth` (number), `is_free_shipping` (boolean), `fixed_cost_shipping_price` (number), `inventory_level` (number), `inventory_warning_level` (number), `option_values` (array of objects with `id`, `option_id`, `label`) |
| `videos` | array | `id` (number), `title` (string), `description` (string), `sort_order` (number), `type` (string), `video_id` (string) |

## Category object

The following fields are returned on the `category` output object for actions that return category data:

| Field | Type | Description |
|---|---|---|
| `category_id` | string | Category ID |
| `parent_id` | number | Parent category ID |
| `tree_id` | number | Category tree ID |
| `name` | string | Category name |
| `description` | string | Category description |
| `views` | number | Number of views |
| `sort_order` | number | Sort order |
| `page_title` | string | SEO page title |
| `search_keywords` | string | Search keywords |
| `meta_keywords` | array of strings | Meta keywords |
| `meta_description` | string | Meta description |
| `layout_file` | string | Layout file |
| `is_visible` | boolean | Whether the category is visible |
| `default_product_sort` | string | Default product sort order |
| `image_url` | string | Category image URL |
| `url.path` | string | Category URL path |
| `url.is_customized` | boolean | Whether the URL is customized |

## Customer group object

The following fields are returned on the `customerGroup` output object for actions that return customer group data:

| Field | Type | Description |
|---|---|---|
| `id` | string / number | Customer group ID |
| `name` | string | Customer group name |
| `is_default` | boolean | Whether this is the default customer group |
| `is_group_for_guests` | boolean | Whether this group is designated for guest customers |
| `date_created` | string | Date created (ISO-8601) |
| `date_modified` | string | Date last modified (ISO-8601) |
| `category_access.type` | string | Category access type (e.g. `all`, `specific`) |
| `category_access.categories` | array | Category IDs the group has access to |
| `discount_rules` | array | List of discount rules, each with `type`, `method`, `amount`, and `price_list_id` |

## Related pages

[Adding actions to flows](https://amplience.com/developers/docs/workforce/flows/action-reference/#adding-actions-to-flows)

[Inputs, outputs and ports](https://amplience.com/developers/docs/workforce/flows/action-reference/#inputs-outputs-and-ports)

[Input field variables](https://amplience.com/developers/docs/workforce/flows/action-reference/#input-field-variables)

[Developing extensions](https://amplience.com/developers/docs/workforce/flows/developing-extensions/)
