create-import-schedule
Create a recurring import: the same definition as create-import-csv (action, sellerId, keyColumn, mappedColumns, options) plus a fileUrl the platform re-reads on every run and a frequency. It shows up in the app's scheduled imports.
Run it with dryRun: true first. An https CSV is fetched and the mapping checked against its real columns; for sftp://, ftp:// or an Excel file, send the file's header row as columns. Created INACTIVE unless active is true — the usual sequence is dry run, create, update-import-schedule with active true. The platform switches a schedule off with errorDescription "Invalid Plan" if the plan lacks the feature. Authenticated via bearer token.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>",
"name": "<name>",
"sellerId": "<sellerId>",
"fileUrl": "<fileUrl>",
"frequency": "<frequency>",
"keyColumn": "<keyColumn>"
},
"name": "create-import-schedule"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name shown for the schedule in the app | |
| endAt | No | Last moment it may run, ISO 8601. Omit for no end. | |
| action | Yes | What each run does; see get-import-catalog | |
| active | No | Start running. Defaults to false. | |
| dryRun | No | Validate the URL, columns and mapping and report them without saving the schedule | |
| columns | No | The file's header row, for a source the API cannot read itself (sftp://, ftp://, Excel). The mapping is checked against it. An https CSV is fetched and checked against its real columns instead. | |
| fileUrl | Yes | Where every run reads the file from: https:// (a link carrying its own access token, no user:password@), sftp://user:password@host:22/path/file.csv or ftp://user:password@host/path/file.csv. Percent-encode special characters in a password (@ is %40). A URL ending .xlsx needs options.sheet_name. Credentials are stored and never returned. | |
| keyType | No | What keyColumn holds. Defaults to sku. | |
| options | No | Per-action settings, e.g. { update_existing: true } on a catalog import. See options in get-import-catalog; an unrecognised key is rejected rather than ignored. | |
| startAt | No | First run, ISO 8601 with an offset or Z. Later runs are whole intervals after it, so this also sets the time of day. Defaults to now. | |
| sellerId | Yes | Seller account every run imports into; see get-sellers | |
| timezone | No | IANA time zone the app shows its dates in (display only) | |
| frequency | Yes | How often it runs. The _minutes frequencies need the Dedicated Import Server add-on. | |
| keyColumn | Yes | The column identifying which record each row is about — the SKU column, or the item ID column when keyType is itemId. Must be a column in the file. | |
| valueChanges | No | Change a value before it is written, per target field: ordered steps run on the file value after the row filters. Keyed by the target field (`SKU`, `Price`, ...) or by `item_id_column` for the key column itself, which then changes the value the rows are matched by. Text steps (`add_prefix`, `add_suffix`, `remove_prefix`, `remove_suffix` with `text`; `find_replace` with `find`, `replace`, `match_case`, `whole_word`; `capitalize_first`, `capitalize_words`, `lowercase`, `uppercase`, `remove_non_numeric`, `remove_digits`, `remove_linebreaks`, `remove_html`, `trim`) and number steps (`multiply`, `divide`, `add`, `subtract`, `increase_percent`, `decrease_percent` with `value`) can be mixed; a number step on a value that is not a number leaves it unchanged. `round` (`none`, `two_decimals`, `up`, `down`) and `charm_price` (end with .99) apply once after the number steps. The actions are listed in `get-import-catalog`. | |
| mappedColumns | No | Column name in the file -> target field, or { title, fallback } to supply a value for empty cells. "Don't import" skips a column and a "c:" prefix writes a custom attribute (e.g. "c:Fitment"). Omit to auto-map columns whose names already match a target field, which is how an import_format export round-trips. | |
| allowUnknownTargets | No | Accept a mapping target the catalog does not list for this action. Off by default — an unrecognised target is dropped silently. |