> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Insert Product Input

> Inserts or replaces ProductInputs in a primary or supplemental API data source, one or many at once (up to 200)

Inserts or replaces ProductInputs in a primary or supplemental API data source, one or many at once (up to 200). Google processes inputs asynchronously; use gmc\_get\_product later for the final processed Product. For larger catalogs, upload a feed with gmc\_create\_data\_source.

|                       |                            |
| --------------------- | -------------------------- |
| **App**               | Google Merchant Center     |
| **Operation ID**      | `gmc_insert_product_input` |
| **Type**              | Action                     |
| **Connection**        | `gmc` (required)           |
| **Credits per run**   | 1                          |
| **Agent / MCP tool**  | Yes                        |
| **Requires approval** | Yes (write operation)      |

## Inputs

| Field                     | Type                                          | Required | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------------- | --------------------------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `account`                 | DynamicAccount                                | Yes      | -       | Select the Merchant Center account in which to insert the product inputs.                                                                                                                                                                                                                                                                                                                                                                                     |
| `update_type`             | string or SelectableOption                    | Yes      | -       | Choose whether to insert a single product or many at once. Options: single or bulk.                                                                                                                                                                                                                                                                                                                                                                           |
| `data_source_id`          | string or SelectItem                          | Yes      | -       | Primary or supplemental API data source ID. Only API data sources support ProductInput writes. Applies to every row in bulk mode.                                                                                                                                                                                                                                                                                                                             |
| `product_input`           | object or string                              | No       | -       | Official Google Merchant API ProductInput insert body as an object or JSON string. Use Google's REST camelCase field names exactly. Nested attributes and future fields are sent unchanged and validated by Google. Common fields include channel, offerId, contentLanguage, feedLabel, attributes, and customAttributes. Do not include the output-only name field. Note: Google hard-limits updates to twice per day per product. Required for single mode. |
| `structured_data`         | array (also accepts a comma-separated string) | No       | -       | Use only when update\_type is bulk. A list of up to 200 official ProductInput insert bodies, each exactly as in product\_input (channel, offerId, contentLanguage, feedLabel, attributes, ...), sent to Google as-is. All rows go into the same data source. For larger catalogs, upload a feed with gmc\_create\_data\_source instead. Note: Google hard-limits updates to twice per day per product.                                                        |
| `return_detailed_results` | boolean                                       | No       | `False` | Bulk mode only. If true, returns per-row results and does not raise on partial failures.                                                                                                                                                                                                                                                                                                                                                                      |

### SelectItem

| Field   | Type   | Required | Default | Description                                                                                          |
| ------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------- |
| `value` | string | Yes      | -       | The value of the selectable item.                                                                    |
| `label` | string | Yes      | -       | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

### SelectableOption

| Field   | Type   | Required | Default | Description |
| ------- | ------ | -------- | ------- | ----------- |
| `value` | string | Yes      | -       |             |
| `label` | string | Yes      | -       |             |

## Output

**Type**: `Dict`

Returns the ProductInput accepted by Google.

**Fields**: `product_input`
