One of the things I wanted to demo in Vienna included showing off some kind of new agent and how you could use that agent together with MCP and agent-to-agent communication. Webform was a clear candidate for it. The demo included being able to create webforms from free text or even ugly hand drawn sketches, and then via MCP connect to a VAPI agent and have that agent be able to call someone and have an AI agent survey the webform over voice and then save the submission.After testing different providers, we came to the conclusion that there are providers that do not allow the combination of using Tools/Function Calling and asking for a structured output.
Try it out and help out in: https://www.drupal.org/project/ai_context
Right now it’s focusing heavily on agents, but in the future it would also be usable in Automators, translations or anything that needs to have a stricter control on how to generate via AI. This project has been driven by Salsa Digital in general and Ahmed Jabar in particular, who spent weekends to have it ready before the DriesNote. A huge thanks to them!
Be sure to keep an eye out here or on LinkedIn to stay up to date with the latest developments. Visit the AI Initiative home page for ways to connect, events and webinars.
In 1.2.0 we have added a prompt library. The initial implementation was AI Content Suggestions, but right before the release we also added an implementation into the AI Translate submodule.
AI Context is out in dev version
This summary will cover three weeks instead of the bi-weekly progress report, and it will be a little bit different. Since we were very busy with the Driesnote for DrupalCon, the release of AI and AI Agents 1.2.0 (yay!), we were mostly focusing on stability fixes.
Well it has been out for some while, but we wanted to introduce it with the DriesNote. The idea is that the AI Context or Context Control Center (name TBD) is the central point for any context your Drupal site will need. Both for AI or via MCP.
Aidan Foster from Foster Interactive, who was one of the main contributors to the demo, did a follow up LinkedIn Post that you should not miss.
Prompt library used in AI Translate
For AI Agents we will then be able to figure out if this is possible or not, and add a feature where we can run another call on the finished loop, to structure the output.
We ended up deciding to put the agent in a module, even if it’s still very rough around the edges. You can find it at https://www.drupal.org/project/ai_webform_agent. Nick Opris is putting a lot of effort in moving it into the Tool API and making it more stable.
Webform Agent can be tested
This means that the translation prompts are now being managed via the prompt library and can be reused in the future for other translation tasks that could be added into for instance AI CKEditor or AI Automators.
A lot of the time was put into planning a way forward to the 2.0.0 release. Some things are already decided or were decided in Vienna.
Flag added for Tools and Structure combinations
For me personally it was a crazy event compared to other DrupalCon’s I have been to. Many people to talk to, and many people I wanted to talk to, but never got the time to do it.
Because of that we have added a flag where the providers can update their status to tell that they are able to do this.
And if you do not believe me – you can run the demo yourself.
Planning 2.0
This includes:
We did prepare the demo for the DriesNote and it’s one of the demos that I personally actually have been the most comfortable with sharing. Some of the demos that get recorded are on the level of something we strive for, rather than what is there now., The actual output of the Canvas AI for the examples in the DriesNote was actually over 50% on the reliability where you could almost just use it, and most of the rest created a version that just needed minor tweaking. This is based on a fairly strict criteria on who components should be placed, images should be picked and copies should be written.
- A huge refactor of the AI Automators, so it works with multiple automators per field.
- A huge refactor of the code to follow PHPStan level 7 and some more standardizations.
- Add a lot more testing to the modules that will stay in there.
- Moving AI Agents runner into AI Core. It is such a common pattern, that any third party module should have the possibility to run an agent as part of its workflow. This means that AI Agents will either be deprecated for 2.0 or be a pure GUI module.
- Use Tool API as the main way of writing function calls. Since these will be possible to reuse them for ECA, VBO or MCP (many three abbreviations). It is still not decided if executable function calls are deprecated for 2.0, but we would recommend anyone to use Tool API for any tool going forward.
- Remove some of the submodules out, since that will make release iteration simpler, both for those modules that become contrib modules, but also for the AI Core module.
- Remove the AI Translate module into a contrib module. There are multiple translation modules that solve different problems and we should not gatekeep a specific solution for it.
- Remove the AI Search module into a contrib module. This module will then be possible to develop at its own speed independent of AI Core releases.
- Remove the Field Widget Actions module into a contrib module. This module only exists in the AI module because it was a brainchild of doing widgets for the Automators, but since it’s not directly connected to AI, it’s being moved out.
- Remove the AI Validations module into a contrib module. This module is an extension of the Field Validations module, rather than the AI module, so it made little sense to have it in the AI module.
- Remove the AI Content Suggestions module into a contrib module. This module is a nice easy to install module to showcase what AI can do for you, but there are many different content modules, and we should not gatekeep this as well.
- Remove the AI Logging module, possibly into a contrib module (do you want to help manage?). We now have an AI Observability module in the AI Core, that will just play nicer, both with Drupal’s internal logging, but also external tools like Open Telemetry and DataDog.
DrupalCon Vienna also happened and personally for me also PHP Longhorn in Austin. DrupalCon gave us an opportunity to meet in person, regroup and plan ahead for the 2.0 release. So we will cover that as well in the progress reports.






