Drupal is a registered trademark of Dries Buytaert
Release: Drupal 11.4.5 Update released for Drupal core (11.4.5)! Release: Drupal 10.6.15 Update released for Drupal core (10.6.15)! Release: Superfish Dropdown Menu 8.x-1.15 Minor update available for module superfish (8.x-1.15). Release: Leaflet 10.4.10 Minor update available for module leaflet (10.4.10). Release: Raven: Sentry Integration 7.5.1 Minor update available for module raven (7.5.1). Release: htmLawed 8.x-3.8 Minor update available for module htmlawed (8.x-3.8). Release: Raven: Sentry Integration 7.5.0 Minor update available for module raven (7.5.0). Module Revived: Media Library Form API Element 2.1.5 Module media_library_form_element updated after 10 months of inactivity (2.1.5). Release: Acquia Content Optimization 2.1.0-alpha1 First alpha version released for module conductor (2.1.0-alpha1). Usage Milestone: Manage display Module manage_display crossed 1,000 active installs.

This module uses AI to parse unstructured web content and transform it into structured Drupal nodes, simplifying content migration. It aims to automate the process of filling specific fields of your Drupal content types, making phased migrations easier and faster.

The AI Migration module is under active development. Please let us know in the issue queue if you are interested in participating.

This module helps with migrating content into Drupal using AI to parse web pages based on your Drupal content type schema, generating migrations, that migrate the content creating Drupal nodes.

Goals

  • To make it easier to parse fairly unstructured content from web pages or documents and transform it into structured content in Drupal. "Fill the fields, not bloat the body."
  • To make it easy to migrate slices of content into a Drupal instance to support phased migration of legacy sites into Drupal sites.
  • Spend less time tuning migrations and more time migrating.

Requirements

This module requires:

  • drupal/ai:^1.2
  • drupal/jsonapi
  • drupal/migrate:^6.0
  • drupal/migrate_plus:^6.1
  • drupal/serialization
  • drupal/schemata:^1.0
  • drupal/schemata_json_schema

Recommended Models

We recommend using these models with AI Migration:

  • OpenAI GPT-4.1-mini
  • OpenAI GPT-5-nano
  • Gemini 2.5 Flash

Installation & Configuration

  1. Install the module as you would any other module.
  2. Configure an AI API provider at /admin/config/ai/providers.
  3. Set the default AI API provider for Chat and Chat with Structured Response at /admin/config/ai/settings.
  4. Create a Drupal content type with fields that you want to populate with migrated content.
  5. Create a migration yml file in your custom module. See the simple_content_migration.yml file in the ai_migration_example submodule for an example.
  6. Execute the migration to migrate content.

AI Migration Example

Provides a sample migration that demonstrates AI Migration functionality. The submodule creates a content type called 'Simple Content Migration' that has fields that can be populated by the simple_content_migration.yml migration. The simple_content_migration.yml migration is a good starting point for creating your own migrations. The migration targets CA example website https://accessibility.civicactions.com/ and converts blog posts into Drupal nodes.

Caching

The module creates a cache bin where combinations of AI responses keyed by provider-model-prompt are stored. This way, identical queries to the same model will not incur additional costs from the provider. Keep in mind that clearing all caches also clears out the AI Migration cache.

Developers and Contributors

See CONTRIBUTING.md for details on how to set up a local development environment and contribute.

More Documentation

See our additional documentation for more details.

Activity

Tracked releases
3
Tracked since
Jul 2025
Latest release
7 months ago
Releases (12 mo)
2 ▲ from 1
Maintenance
Slowing

Release Timeline

Releases

Version Type Release date
1.0.0-alpha2 Pre-release Dec 12, 2025
1.0.0-alpha1 Pre-release Sep 23, 2025
1.0.x-dev Dev Jul 10, 2025