We're software that helps growing brands & retailers grow and scale. Sync, sell and ship your products and inventory on online marketplaces and storefronts faster, easier and more accurately.

Learn more now

Automation Error Messages Explained

This guide lists common error messages you may encounter when creating, validating, or running automations. Each entry explains what caused the error and how to fix it.


Connection Errors

These errors occur when the automation cannot establish or maintain a connection to the remote server or API.

Error Message Cause Solution
Failed to connect to FTP server:
The FTP server is unreachable, or the credentials are wrong. The automation retries up to 3 times before failing. Verify the address, username, and password in the connection config. Confirm that the server is online and your network allows outbound connections on the configured port (default 21).
Failed to connect to SFTP server:
The SFTP server rejected the connection or login failed. Check address, username, and password. If using a key file, set is_key_file: true and provide the full private key content as the password value. Verify the port (default 21 for SFTP).
Failed to connect to HTTP server:
:
The HTTP login endpoint returned an error or was unreachable. The detailed message after the colon provides additional context. Verify login_address and credentials. Test the endpoint manually with a tool like curl or Postman to isolate the issue.
Failed to connect to Email:
The email (IMAP) server connection failed. Verify the email address (IMAP server hostname), username, password, and port (default 993 for IMAP over SSL).
Failed to connect to S3 server:
AWS S3 returned an error during connection. Check the S3 bucket name, path, and that the credentials have the necessary IAM permissions for the bucket.
Failed to navigate to path on
:
The automation connected successfully but could not change to the configured directory on the SFTP server. Verify that the path exists on the remote server and that the user has read/execute permissions on it. SFTP paths must be absolute (starting with /).
Not authorized to change relative paths An SFTP path was specified as a relative path instead of an absolute path. Change the path value to an absolute path starting with /. For example, use /home/user/exports instead of exports.

Authentication Errors

Error Message Cause Solution
Failed to get OAuth Access Token from:
:
The OAuth token refresh request failed. The remote authorization server rejected the refresh attempt. Verify the oauth configuration: address, client_id, client_secret, and that the refresh token is still valid. You may need to re-authorize the connection through the OAuth flow.
HTTP status 401 in logs The request was rejected as unauthorized. Check that credentials (API key, username/password, or OAuth token) are correct and have not expired. For OAuth automations, re-authorize to get a fresh token.
HTTP status 403 in logs The credentials are valid but the user does not have permission for the requested resource. Contact the vendor to verify that the API user account has the required permissions or scopes.

File Download Errors

Error Message Cause Solution
Fatal Error: Failed to download remote file: The automation connected to the server but could not download the specified file. Check that the file exists at the expected path on the remote server. Verify the filename (or regex pattern) is correct and that the user has read permission.
No files found in matching The regex pattern for the filename did not match any files in the remote directory. Verify the regex pattern in the file config. Log in to the remote server manually to confirm what files exist. Remember that regex delimiters are required (e.g., /^products_\d+\.csv$/).
File not found in email An email import automation could not find a matching attachment in any email. Check the email_search criteria (subject, from, date range). Verify that the email has arrived and has an attachment matching the configured filename or regex. Check the mailbox setting (defaults to INBOX).
Failed to copy remote file: A file copy operation on SureDone's internal SFTP (sdsftp) failed. This is typically a transient error. Retry the automation. If persistent, contact support.

File Processing Errors

Error Message Cause Solution
All files failed to process Every file in the file_configs array encountered an error during processing. Review the log entries above this error for the specific failure reason for each file. Common causes: download failures, empty files, parsing errors.
Failed to open compressed file: The automation could not open a ZIP or compressed archive. Verify the file is a valid archive and is not corrupted. If password-protected, ensure the extract.password is correct.
Failed to extract file(s): The specified files could not be found inside the compressed archive. Check that files_to_extract (or regex_extract) matches the actual filenames inside the archive. Open the archive manually to verify its contents.
Failed to parse EDI file : Does not exist An EDI file referenced in the config does not exist at the expected location. Verify the EDI file path. EDI files must be present and accessible for the automation to parse them.
Error parsing XML:
An XML file could not be parsed, usually due to malformed XML. Validate the XML file. Check for encoding issues, unclosed tags, or invalid characters. The detail message includes the specific parsing error.
Invalid delimiter: The configured CSV delimiter is not a single character. Set delimiter to exactly one character (e.g., ",", "\t" for tab, `" "` for pipe).

Validation Errors

These errors are returned when creating or updating an automation config.

Missing Fields

Error Message Cause Solution
Missing required fields: One or more required config fields were not provided. Add the listed fields to your config. Required top-level fields include name, active, schedule, type, action, and connection.
Missing parameters An installed automation requires parameters but none were provided. Include the parameters array with values for all required parameters defined by the parent automation.
Must set at least one of the following actions: create, update, remove An import file config does not specify what to do with matched items. Add at least one of create, update, or remove to the file config. For products: "create": "add", "update": "edit", or "remove": "end". For orders: use boolean values like "create": true.
Must map the following fields for fitment: A fitment automation is missing required fitment field mappings. Add the listed fitment fields to your field_map.
Field "channel" must be mapped for new orders An order import with create: true is missing the channel field in field_map. Map the channel field so the system knows which channel the new orders belong to.
Must specify both compressed file and file(s) to extract The extract config has a compressed file name but no files to extract, or vice versa. Provide both name (or regex) for the compressed file and files_to_extract (or regex_extract) for the files inside it.

Type Errors

Error Message Cause Solution
The following fields must be of type : A field was provided with the wrong data type (e.g., a string where a boolean was expected). Fix the data type. Common examples: use true/false (no quotes) for booleans, use numbers without quotes for integers, use arrays [] where arrays are expected.
'type' must be 'products' or 'orders' or 'fitment' The type field has an unrecognized value. Set type to one of the three valid values: "products", "orders", or "fitment".
'action' must be 'import' or 'export' The action field has an unrecognized value. Set action to either "import" or "export".
Invalid value for . Must be one of: An import action (create, update, or remove) was set to an invalid value. For product imports, valid values are: create: "start" or "add", update: "edit" or "relist" or "fitment", remove: "end" or "delete". For order imports, use boolean true or false.

Connection Validation Errors

Error Message Cause Solution
Cannot create export automation without connection An export automation was created without a connection section. Add a connection object with at least a type and the required fields for that connection type.
does not support s The connection type does not support the configured action. For example, FTPS does not yet support exports. Change the connection type to one that supports your action. See the connection type documentation for supported actions.
Must use valid bucket for s3 The S3 connection is missing a bucket name. Add "bucket": "your-bucket-name" to the connection config.
Must use /private directory for s3 The S3 path does not start with /private. Set the path to start with /private/ for security.
Invalid HMAC algorithm: The HMAC algorithm specified in the connection config is not supported by the server. Use a valid algorithm such as sha256, sha1, or md5.
Invalid email address:
The email address in the connection config is not a valid email format. Correct the email address format.

Schedule Errors

Error Message Cause Solution
Schedule must be valid cron expression. is invalid The schedule field is not a valid cron expression. Use standard cron syntax with 5 fields: minute, hour, day of month, month, day of week. Example: "0 /6 " for every 6 hours. Use a tool like crontab.guru to build and verify cron expressions.

Search and Filter Errors

Error Message Cause Solution
Invalid search: The search string could not be parsed into valid filter criteria. Check the search syntax. Make sure field names are correct, operators are valid, and the string follows SureDone's search format (e.g., stock:>0 condition:New).
Failed to generate filters from search: The search string was parsed but could not be converted into database filters. Simplify the search or break it into individual filter conditions using the filters array instead.

Template Errors

Error Message Cause Solution
Invalid twig template syntax:
The Twig template in the template field contains a syntax error. Check the template for unclosed tags, misspelled function names, or incorrect Twig syntax. The error details indicate the specific problem. Common issues: missing {% endfor %} or {% endif %}, unclosed {{ }} expressions.
Need valid template to convert to PDF The pdf option is set to true but no template is provided. Add a valid Twig HTML template in the template field, or remove the pdf: true setting.
Attachment setting for email must be true if using PDF PDF generation is enabled but the email connection is not configured to send attachments. Set send_as_attachment: true in the email connection config when using pdf: true.

Identifier Errors

Error Message Cause Solution
Cannot set identifier for exports The identifier field was set in an export file config, where it is not applicable. Remove the identifier field from the export file config. Identifiers are only used for imports to match incoming data to existing records.
'identifier' and 'identifiers' are mutually exclusive Both identifier (single) and identifiers (array for multi-identifier matching) were set in the same file config. Use one or the other. Use identifier for single-field matching, or identifiers for multi-identifier priority matching.
Invalid identifier The identifier value is empty or invalid during processing. Verify that the identifier field is correctly mapped in field_map and that the source data contains non-empty values for the identifier field.

Field and Channel Errors

Error Message Cause Solution
Invalid field: / Invalid field in
:
A field name in the config is not recognized as a valid config option. Check the field name for typos. Refer to the config model documentation for the list of valid fields in each section.
Invalid channels: One or more channel names in skip_channels are not valid channels in the account. Verify the channel names. Channel names include the instance number if applicable (e.g., ebay, ebay2, amazon, bigcommerce).
Failed to create custom field(s): The create_custom_fields option failed to create one or more fields. Check that the field definitions are valid (proper type, length, etc.) and that the field names do not conflict with existing system fields.

Processing Errors

These errors occur during the automation run, after the connection is established and data is being processed.

Error Message Cause Solution
No items to create! The automation was configured to create items, but no items in the source data qualified for creation (all matched existing records). This is informational. If you expected new items, verify that the identifier values in the source data do not already exist in SureDone.
No items to update! The automation was configured to update items, but no items matched existing records, or diff_update determined that nothing changed. If using diff_update, try resetting the status tables. Verify that identifiers in the source data match existing records in SureDone.
No items to remove! The automation was configured to remove items, but no items in the source data matched existing records for removal. Verify identifier matching.
No orders to create! / No orders to update! / No orders to remove! Same as the items messages, but for order automations. Same solutions as above, applied to orders.
No orders in SureDone match search An order export search returned zero results from the database. Test the search string in SureDone's order search UI to confirm it returns results. Check that matching orders exist and are in the expected status.
No order identifiers matched for None of the order identifiers in the export matched orders in SureDone. Verify the identifier field is set correctly and that the orders exist in SureDone with matching identifier values.
Failed to make '' from item The identifier field could not be extracted from a source item during processing. Ensure the identifier field is mapped in field_map and the source data contains a value for it.
Got empty order when trying to match update search An order matched for export but was empty when the update search was applied. Check the order_update_search criteria. The search may be filtering out the order's data.

Batch Errors

These errors relate to automations that use batched processing (limit_batch_size).

Error Message Cause Solution
Batch appears stalled (no progress for configured stall time) A batch did not complete within batch_stall_time seconds (default: 10,800 seconds / 3 hours). The system will automatically retry stalled batches up to batch_max_retries times (default: 3). If batches stall repeatedly, increase batch_stall_time for slow-processing data sets, or reduce limit_batch_size to create smaller batches.
Batch size must be no more than The limit_batch_size value exceeds the maximum allowed. Reduce limit_batch_size to the maximum value shown in the error.
Max batch concurrency must be no more than The limit_batch_concurrency value exceeds the maximum allowed. Reduce limit_batch_concurrency to the maximum value shown in the error.
Max batch concurrency must be at least 1 limit_batch_concurrency was set to zero or a negative number. Set limit_batch_concurrency to at least 1.
Missing batch_throttle.request_limit The batch_throttle object was provided but request_limit is missing. Add "request_limit": inside the batch_throttle object.
Batch throttle time period must not exceed 24 hours The batch_throttle.time_period exceeds 86,400 seconds. Reduce the time_period value to 86,400 or less.

HTTP-Specific Errors

Error Message Cause Solution
OAuth token expired (HTTP 401 on API requests) The OAuth access token has expired and the refresh attempt failed. Re-authorize the automation through the OAuth flow to obtain new tokens. Check that oauth.address, oauth.client_id, and oauth.client_secret are correct.
HTTP 429 (Rate limited) The remote API is rejecting requests because too many were sent in a short period. Add or adjust the throttle settings in your connection config. Set request_limit and time_period to stay within the vendor's rate limits. Example: "throttle": { "request_limit": 2, "time_period": 1 } for 2 requests per second.
Pagination returns the same data repeatedly The automation detects that consecutive paginated responses contain identical data (excluding timestamp-like fields), indicating a pagination loop. Check the pagination settings. Verify that next_token maps to the correct response key. If the API uses a query parameter instead of a URL, set next_parameter. If using page-based pagination, confirm page_parameter and page_start are correct.
Failed to process all trigger responses. See logs for details. One or more trigger requests in a multi-trigger chain failed after exhausting all retries. Check the trigger address and key mappings. Increase max_retries or retry_time if the remote server is intermittently slow. Review logs for the specific trigger step that failed.

Throttle Errors

Error Message Cause Solution
Missing throttle.request_limit A throttle object was provided without the required request_limit field. Add "request_limit": to the throttle config.
Throttle time period must not exceed 1 hour The throttle.time_period exceeds 3,600 seconds. Set time_period to 3,600 or less.
Throttle rate too high The calculated requests-per-second rate exceeds the system's maximum. Reduce request_limit or increase time_period.

Permission Errors

Error Message Cause Solution
Permission denied: specifying user A non-admin user attempted to set the user field when creating an automation. Remove the user field from the config. Only administrators can specify which user an automation belongs to.
Permission denied: cannot create shared automations A user without sharing permissions attempted to create a shared automation. Contact your account administrator to request sharing permissions, or remove the shared flag from the config.
Cannot install shared automation without shared_id An install request was made without specifying which shared automation to install. Include "shared_id": in the request body.
Shared automation does not exist! The shared_id references an automation that does not exist or has been deleted. Verify the shared_id. List available shared automations with GET /v3/automations/custom to find the correct ID.

Parameter Errors

Error Message Cause Solution
Error: Parameter cannot be missing name A parameter in the parameters array does not have a name field. Add a name field to every parameter object. The name is used to match {{parameter_name}} placeholders in the rest of the config.
Cannot use linked parameters without value map A linked parameter was defined without a value_map to determine its value based on the parent parameter. Add a value_map object to the linked parameter that maps parent values to child values.
Value not found in linked parameter value map: The parent parameter's current value does not exist as a key in the linked parameter's value_map. Add the missing value as a key in the value_map, or change the parent parameter's value to one that exists in the map.
Invalid parameters: Parameters were provided that do not match any {{parameter_name}} placeholder in the automation config. Remove the listed parameters, or add corresponding {{parameter_name}} placeholders in the config where they should be used.
Invalid properties: A parameter object contains properties that are not recognized. Remove the invalid properties. Valid parameter properties include: name, value, label, description, encrypted, hidden_from_user, date_format, allowed_values, type, required, among others.
Error: The following parameters are reserved: Parameter names conflict with system-reserved names. Rename the parameters to avoid reserved names.
Invalid value for sd_options: A parameter with sd_options: true references an options field that does not exist. Verify the value matches the name of an existing sd_options field in the account.
Invalid keys in allowed_values: The allowed_values array contains objects with unrecognized keys. Each object in allowed_values should contain only label, value, and optionally description.

Miscellaneous Errors

Error Message Cause Solution
Error: EDI spec not supported: The EDI specification referenced is not supported by the automation engine. Check the edi_spec value against the supported EDI specifications.
Must provide EDI Receiver ID An EDI automation requires a receiver ID but none was provided. Add "edi_receiver_id": "" to the file config.
Invalid regex: '' A regex pattern in the config (for filenames, extract, etc.) is syntactically invalid. Test the regex pattern with a tool like regex101.com. Remember to include delimiters (e.g., /pattern/).
Must set stock_field if stock_sum_fields is set Stock aggregation fields were configured but no target field was specified. Add "stock_field": "" to specify which field should hold the summed stock value.
Must set stock_field if stock_negative is set The stock_negative option requires stock_field to be defined. Add "stock_field": "" to the file config.
Cache TTL must be greater than 0 The cache_ttl value was set to zero or a negative number. Set cache_ttl to a positive number of seconds (default is 86,400 for 1 day).
limit_export can only be used with payload_multi export The limit_export setting was used with an export that does not have payload_multi: true. Set "payload_multi": true on the file config, or remove limit_export.
limit_import can only be used with non-payload_multi import The limit_import setting was used with an import that has payload_multi: true (the default). Set "payload_multi": false on the file config, or remove limit_import.
limit_template_size can only be used with item templates Template size limiting is only supported for item-level templates. Remove limit_template_size if not using per-item templates, or restructure the config to use item-level templates.
Must set either xpath or jsonpath to parse response from export An export with response_field_map needs to know how to parse the response. Add "xpath": true or "jsonpath": true to the file config to indicate the response format.
Static filename ('name') is invalid if using regex in extract Both a static name and a regex were specified in the extract config. Use either name for a fixed filename or regex for pattern matching, not both.

Tip: When reporting errors to SureDone support, always include the exact error message text, the automation ID, and the approximate time the error occurred. This helps the team locate the relevant log entries quickly.