Import Failures
This page covers every common import failure you may encounter in JetStack AI, organized by error type and then by asset type. Each entry follows a Symptom / Cause / Solution format.
General Import Errors
Section titled “General Import Errors”Failed to Fetch Asset
Section titled “Failed to Fetch Asset”Symptom: The import task fails with “Failed to fetch asset” and the asset name or ID in the error details.
Cause: This occurs when HubSpot’s API returns an error during asset retrieval. Common reasons include:
- The asset was deleted from the source portal after you selected it for import
- The asset is in a draft or archived state that the API does not expose
- A transient HubSpot API error (500-level response)
- The OAuth token lacks read access for this asset type
Solution:
- Verify the asset still exists in the source HubSpot portal
- Check that the asset is in a published or active state
- Retry the import — transient API errors resolve automatically
- If the error persists, reconnect the portal to refresh OAuth scopes (see Connection & OAuth)
Dependency Import Failed
Section titled “Dependency Import Failed”Symptom: An asset you selected imports successfully, but the task log shows “Dependency import failed” for one or more of its dependencies.
Cause: JetStack AI uses depth-first traversal to import dependencies before the parent asset. If a dependency fails to import, the parent asset may still succeed but with broken references, or the entire import may fail depending on the dependency type. Common causes:
- The dependency was deleted from the source portal
- The dependency type is not supported on your plan
- The dependency exists in a different HubSpot account that is not connected
- A circular dependency was detected
Solution:
- Review the task details in the Activity Log to identify which specific dependency failed
- Check whether the dependency exists and is accessible in the source portal
- If the dependency is a cross-portal reference (e.g., a workflow referencing a list in another portal), import that asset separately
- If the dependency type requires an Ultimate plan, upgrade or skip the dependency
API Rate Limit Exceeded
Section titled “API Rate Limit Exceeded”Symptom: Import slows dramatically or fails with “API rate limit exceeded” or “429 Too Many Requests.”
Cause: HubSpot enforces a limit of 100 requests per 10 seconds for OAuth apps. This limit is shared across all JetStack AI operations on the same portal. Rate limiting is more likely when:
- You are running multiple imports simultaneously on the same portal
- An audit is running concurrently on the same portal
- Other HubSpot integrations are consuming API quota
Solution:
- Wait 30-60 seconds and retry the import
- Avoid running multiple operations on the same portal simultaneously
- If you consistently hit rate limits, reduce the number of assets per import batch
- JetStack AI automatically retries with exponential backoff — check the Activity Log to confirm whether retries succeeded
Asset Type Not Supported
Section titled “Asset Type Not Supported”Symptom: Import fails with “Asset type not supported” for a specific asset.
Cause: The asset type requires a higher JetStack AI plan than your current subscription. The breakdown is:
- Pro plan: Workflows, Lists, Forms, Emails, Pipelines, Pages, Templates, Template Modules, Blog Posts, Blogs, HubDB Tables, Email Templates, Properties, Association Labels, Custom Objects
- Ultimate plan: Dashboards, Reports, Snippets, Goal Templates, Lead Scores, CRM Cards, Preview Views, Playbooks, Permission Sets
Solution:
- Verify which plan your workspace is on in Account Settings
- Upgrade to the required plan tier
- If you are on the correct plan and still see this error, contact support
Image Upload Failed
Section titled “Image Upload Failed”Symptom: Import completes but the task log shows “Image upload failed” for one or more images.
Cause: During import, JetStack AI downloads images referenced by assets (e.g., email images, blog post featured images, page module images) and stores them. This fails when:
- The image URL is no longer accessible (expired CDN link)
- The source portal’s file manager has access restrictions
- The image file exceeds size limits
- The image format is not supported
Solution:
- Check the specific image URL in the task details
- Verify the image is accessible by opening the URL in a browser
- If the image was deleted from the source portal’s file manager, re-upload it and retry the import
- Images that fail to import will be skipped, and the asset will be stored without them. You can manually upload images to the destination portal after deployment.
Timeout
Section titled “Timeout”Symptom: Import fails with “Import timeout” or “Operation timed out.”
Cause: The import exceeded the maximum allowed duration. This typically happens with:
- Very large workflows (100+ actions with complex branching)
- Assets with deep dependency chains (10+ levels deep)
- HubSpot API responding slowly during peak periods
- Large HubDB tables with thousands of rows
Solution:
- Retry the import — timeouts are often caused by transient API slowness
- If the asset is very large, try importing it during off-peak hours
- For HubDB tables with thousands of rows, the import may take several minutes; wait for the full timeout before retrying
- If timeouts persist for the same asset, contact support with the task ID
Permission Denied
Section titled “Permission Denied”Symptom: Import fails with “Permission denied” or “Insufficient permissions.”
Cause: The OAuth token used for the source portal connection does not include the required scopes for the asset type. This can happen when:
- The portal was connected before new asset types were added to JetStack AI
- Scopes were not fully approved during the OAuth flow
- A HubSpot admin revoked specific scope approvals after connection
Solution:
- Navigate to Account > Portals and check the connection status
- Reconnect the portal to re-request all required scopes
- During the OAuth flow, ensure you approve all requested permissions
- See OAuth Connection Flow for the full reconnection process
Per-Asset-Type Issues
Section titled “Per-Asset-Type Issues”Workflows
Section titled “Workflows”Symptom: Workflow import fails or imports with missing actions.
Cause: Workflow import issues typically stem from:
- Actions referencing deleted assets (emails, lists, properties)
- Custom code actions with external dependencies
- Workflows using features only available on Enterprise tier (e.g., custom-coded actions)
- Very large workflows exceeding API response size limits
Solution:
- Check the task log for specific action IDs that failed
- Ensure all assets referenced by the workflow exist in the source portal
- For Enterprise-only features, verify the source portal is Enterprise tier
- If specific actions fail, the workflow is still imported with those actions marked as requiring manual attention
Symptom: List import fails or the list imports without all filters.
Cause: List import issues commonly involve:
TIME_RANGEDfilter operations with unsupported timezone formats- Filters referencing deleted properties or form submissions
- Lists with
ILS_FILTER_BRANCHnesting exceeding depth limits - Lists using
IN_LISTfilters referencing other lists that were not imported
Solution:
- Review the filter tree in the task details to identify which filters failed
- For
TIME_RANGEDissues, JetStack AI automatically remaps timezones during deployment — the import should succeed regardless - Import referenced lists before importing the parent list
- For filter depth issues, contact support
Symptom: Form import is missing fields or field configuration.
Cause: HubSpot’s v3 Forms API does not expose all field-level configuration. JetStack AI uses the v2 API as a fallback, but certain configurations may still be incomplete:
- Progressive profiling field queues
- Dependent field visibility rules
- CAPTCHA and bot protection settings
- Some v2-only field validation rules
Solution:
- After importing, review the form configuration in the Asset Library
- Fields that could not be fully captured will be flagged in the asset details
- After deployment, manually verify progressive profiling and dependent field rules in the destination portal
Emails
Section titled “Emails”Symptom: Email import fails or HTML content is incomplete.
Cause: Email import issues typically involve:
- Emails using custom-coded templates that reference missing modules
- A/B test variants where one variant has been deleted
- Smart content rules referencing deleted lists or properties
- RSS/blog emails referencing disconnected RSS feeds or blogs
Solution:
- Ensure the email’s template is imported first (JetStack AI should auto-import it as a dependency)
- For A/B emails, both variants must be accessible in the source portal
- Smart content list references will be captured but require list mapping during deployment
- RSS feed URLs are stored as-is; update them manually after deployment if needed
Templates and Template Modules
Section titled “Templates and Template Modules”Symptom: Template import fails or produces “generated_layouts path not found.”
Cause: Template imports can fail when:
- The template references custom modules that are not accessible
- The
generated_layoutsfile path does not resolve correctly - Template source code uses syntax not supported by the HubSpot API response format
- The template type (coded vs drag-and-drop) is not correctly identified
Solution:
- Import all custom modules referenced by the template before importing the template itself
- JetStack AI auto-imports module dependencies, but if auto-import fails, import modules manually
- For
generated_layoutserrors, this is typically a transient API issue — retry the import - If the template uses an unusual structure, contact support with the template ID
Pages (Site and Landing)
Section titled “Pages (Site and Landing)”Symptom: Page import is missing module content or layout information.
Cause: Page imports depend heavily on the associated template. Issues arise when:
- The page’s template has not been imported
- Module data within the page references custom modules by ID
- The page uses HubL functions that reference portal-specific data
- Multi-language page variants have different template assignments
Solution:
- Always import the page’s template and all referenced modules first
- Review module content in the Asset Library after import
- HubL references to portal-specific data (e.g.,
hub_id,portal_id) are automatically remapped during deployment - Multi-language variants are imported as separate assets
HubDB Tables
Section titled “HubDB Tables”Symptom: HubDB table import fails or is missing rows.
Cause: HubDB import issues include:
- Tables with foreign ID columns referencing other HubDB tables
- Very large tables (10,000+ rows) timing out during retrieval
- Tables in draft (unpublished) state
- Tables with CDN caching enabled that return stale data
Solution:
- Import referenced HubDB tables (foreign ID columns) before the referencing table
- For large tables, JetStack AI paginates the retrieval — if it times out, retry
- Publish the table in the source portal before importing, or note that draft tables may have incomplete data
- CDN caching does not affect API retrieval; if you see stale data, verify directly in HubSpot
Pipelines
Section titled “Pipelines”Symptom: Pipeline import fails or is missing stages.
Cause: Pipeline import issues stem from:
- Custom object pipelines on portals without custom objects enabled
- Pipelines with probability values set to non-standard formats
- Very old pipelines created through legacy APIs with non-standard data structures
Solution:
- Verify that the source portal tier supports the pipeline type
- Check the pipeline configuration in HubSpot to ensure all stages have valid data
- Retry the import — most pipeline issues are transient
Still Stuck?
Section titled “Still Stuck?”If none of the above solutions resolve your issue:
- Open the Activity Log and click on the failed task for full error details
- Note the task ID from the task detail view
- Contact support at team@jetstack.ai with the task ID and a description of what you were trying to import