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: <address> 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: <address> 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 (SureDone defaults to 21; set port: 22 explicitly if your server uses the standard SFTP port).
Failed to connect to HTTP server: <address>: <details> 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: <details> 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: <details> 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 <address>: <path> 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 : <address>: <details> 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.
Missing required OAuth fields: <fields> The OAuth configuration is missing one or more required fields. Add the listed fields to the oauth object in the connection config. Required OAuth fields include address, client_id, and client_secret.
Failed to get Auth data from : <address>: <details> The custom auth token endpoint returned an error or was unreachable. Verify the auth.address and auth.token_key fields. Test the auth endpoint manually to confirm it returns the expected token.
Missing required Auth fields: <fields> The custom auth configuration is missing required fields. Add the listed fields to the auth object. Required fields include address and token_key.
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: <filename> 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 <path> matching <pattern> 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 <name> 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: <filename> 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: <filename> 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): <filenames> 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 <name>: 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: <details> 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: <value>. Delimiter must be a single character 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: <field list> 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.
The creation of items requires at least one of the following fields mapped: <fields> A product import with create set does not have any valid identifier field in the field_map. Map at least one identifier field (such as guid, sku, or another valid identifier) in the field_map.
Must map the following fields for fitment: <fields> 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 <type>: <fields> 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 <action>. Must be one of: <values> 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.
<type> does not support <action>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: <algo> 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: <address> The email address in the connection config is not a valid email format. Correct the email address format.
Connection configuration contains 'trigger' object but '{{trigger_value}}' is not found... A trigger is defined in the connection but no {{trigger_value}} placeholder exists in the config to use the trigger's output. Add {{trigger_value}} (or {{trigger_value1}}, {{trigger_value2}}, etc.) somewhere in the configuration where the trigger response should be injected.

Schedule Errors

Error Message Cause Solution
Schedule must be valid cron expression. <value> 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: <search string> 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: <search string> 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.
Invalid format for orders_start_date: <value> The orders_start_date value could not be parsed as a valid date. Use a standard date format such as YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.
Invalid format for orders_end_date: <value> The orders_end_date value could not be parsed as a valid date. Use a standard date format such as YYYY-MM-DD or YYYY-MM-DD HH:MM:SS.

Template Errors

Error Message Cause Solution
Invalid twig template syntax: <details> 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: <name> / Invalid field in <section>: <name> 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: <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): <fields> 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.
Invalid action for missing vendor items. Must be one of: <actions> The missing_vendor_items field was set to an unrecognized action. Set missing_vendor_items to one of the valid actions listed in the error message.

Action Validation Errors

Error Message Cause Solution
Invalid value for <action>.<key>: value must be scalar A setValue or remapField action has a non-scalar value (e.g., an array or object where a string is expected). Ensure all values in setValue and remapField mappings are scalar types (string, number, boolean).
Invalid value for combine.<key>: fields must be array A combine action's fields property is not an array. Set fields to an array of field names to combine (e.g., "fields": ["field1", "field2"]).
Invalid value for combine.<key>: delimiter must be a string A combine action's delimiter property is not a string. Set delimiter to a string value (e.g., "delimiter": " ").

Extract Errors

Error Message Cause Solution
extract.password must be a string The extract.password field is not a string type. Provide the archive password as a string value in quotes.
Static filename ('files_to_extract') is invalid if using regex_extract Both a static files_to_extract list and a regex_extract pattern were specified. Use either files_to_extract for specific filenames or regex_extract for pattern matching, not both.

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 <identifier> 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 '<field>' 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 <max> The limit_batch_size value exceeds the maximum allowed (10,000). Reduce limit_batch_size to 10,000 or less.
Max batch concurrency must be no more than <max> The limit_batch_concurrency value exceeds the maximum allowed (100). Reduce limit_batch_concurrency to 100 or less.
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": <number> inside the batch_throttle object.
Invalid batch_throttle.request_limit The batch_throttle.request_limit value is not a positive integer. Set request_limit to a positive integer.
Invalid batch_throttle.time_period The batch_throttle.time_period value is not a positive integer. Set time_period to a positive integer representing seconds.
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 send file: Received HTTP status of <code> with the following data: <response> An export HTTP request returned a non-success status code (300+). Check the response data for details. Common causes: authentication expired, incorrect endpoint URL, payload format issues. Verify the address, method, and headers in the connection config.
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": <number> 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 throttle is configured too aggressively -- the resulting request rate is slower than 1 request per 10 seconds (the minimum allowed rate). Increase request_limit or decrease time_period so the effective rate is at least 0.1 requests per second.

Permission Errors

Error Message Cause Solution
Permission denied: specifying user A non-admin user attempted to set the user_id field when creating an automation. Remove the user_id 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": <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: <value> 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: <names> 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: <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: <names> Parameter names conflict with system-reserved names. Rename the parameters to avoid reserved names.
Invalid value for sd_options: <value> 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: <keys> 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: <spec> 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": "<id>" to the file config.
Invalid regex: '<pattern>' 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": "<fieldname>" 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": "<fieldname>" to the file config.
Must set stock_field if stock_sum_multiline_field is set The stock_sum_multiline_field option requires stock_field to be defined. Add "stock_field": "<fieldname>" 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.