BTF 2026: My Takeaways on AI, Careers, Leadership and Cyber Security

Context

On 29 October 2026, I had the opportunity to attend Black Tech Fest 2026 at Tobacco Dock in London.

There was a real energy throughout this well attended event. Technology was naturally at the centre of many conversations, particularly AI, but what struck me was how often the discussions came back to people: careers, leadership, diversity, trust, responsibility and the choices organisations make as technology advances.

I got a chance to attend and participate in selected sessions, capturing ideas that challenged me or made me stop and think. Looking back through those sessions, several themes kept resurfacing: how organisations move beyond experimenting with AI, how careers need to evolve alongside automation, why human judgement becomes more important rather than less important, and why governance, trust and accountability cannot be afterthoughts.

My day at BTF 2026

My schedule took me across several different conversations, beginning with the opening keynote before moving into AI adoption, leadership and transformation, career longevity and cyber security.

Here are the things that stayed with me.

Session 01: Opening Keynote with the Mayor of London

About the session

This was the opening keynote From a Very Special Guest, on the Big Ideas Stage. The guest was the Mayor of London, Sadiq Khan.

My key takeaways

One phrase I wrote down immediately was: “If the door can’t open, build your own.”

What resonated with me throughout the keynote was the importance of diversity not simply as an aspiration, but because of the value it creates.

The Mayor made a point that diversity leads to better products. That matters particularly in technology. The people building products and platforms influence the assumptions that get embedded into them, the problems that are prioritised and ultimately the people those products work for.

Another statistic the Mayor shared concerned the significant disparity in Angel investment between mainstream and minority-based founders. Whether we look at investment, careers or technology leadership, the broader message I took away was the importance of ensuring organisations have an inclusive talent strategy.

My reflection

Technology does not develop separately from society.

As AI becomes an increasingly important part of the products and services organisations build, representation around the table matters. Different experiences, backgrounds and perspectives help us challenge assumptions that might otherwise become embedded in the technology.

Session 02: From Adoption to 10X Productivity: Tech Leaders Perspective on the AI-Era

About the session

This panel explored a challenge facing many organisations today: moving beyond AI experimentation and isolated pilots towards adoption that can deliver meaningful productivity at scale.

The session brought together:

  • Alex Cave, Chief Data & AI Officer for Business & Commercial Banking, Lloyds Banking Group
  • Renee Hunt, Chief Data & Information Officer, Mortgage Advice Bureau
  • David Savage, Group Technology Evangelist, Harvey Nash Group
  • Mel Unsworth, Chief Technology Officer, Financial Times
  • Sunnie Gill, Director of Enterprise AI, Arm

The discussion was positioned around infrastructure, workforce behaviour, leadership and the practical decisions organisations need to make when moving from incremental applications of AI towards larger-scale adoption.

My key takeaways

One of my first notes was simple: Define the problem you are trying to solve.

That sounds obvious, but it becomes increasingly important when organisations are surrounded by new AI products and capabilities.

AI adoption should not begin with the technology. Start with the problem.

A few other ideas stood out.

i) Think beyond isolated AI tools

One panelist shared what worked in their ogranisation was the idea of creating an AI working group to bring people together and encourage organisational participation.

There was also discussion around establishing an agentic operating model, looking at throughput rather than simply individual activities, and potentially thinking about agents operating throughout the software development lifecycle (SDLC).

But introducing agents is not, by itself, transformation.

Another panelist shared an interesting point: organisations also need to decide what people will do with the capacity created while agents are executing work. Otherwise, we risk simply watching the automation happen rather than redesigning work around it. Is is like “We are defragging our own disk”.

ii) Your knowledge architecture matters

Another important point discussed was: Ensure the knowledge base is well architected. AI depends on the information available to it. If the underlying knowledge is poor, you risk a version of the familiar “garbage in, garbage out” problem.

That means knowledge architecture becomes key part of the AI architecture.

iii) Shared outcomes need shared ownership

One panelist shared that individual approaches can create noise. Instead, organisations need shared outcomes and objectives, together with C-Level (leadership) buy-in.

That becomes particularly important as AI moves beyond individual productivity tools and begins affecting workflows and operating models.

iv) Trust needs governance

Risk and trust was mentioned repeatedly by panelists. Responsible adoption requires organisations to understand what an AI system or agent has done and, critically, to be able to track and undo actions where appropriate.

Trust cannot simply be declared. It needs to be supported by governance, accountability and visibility.

v) Leverage AI where it make sense

Be selective about where AI actually creates value. Rather than attempting to introduce AI everywhere, organisations should use AI where it makes most sense.

That could mean using AI for areas such as data analysis or supporting people in parts of an existing process, while continuing to recognise where human judgement adds more value.

This led to another takeaway: Cherry-pick the AI solutions that solve the right problems rather than adopting an entire suite simply because it is available.

vi) AI should create new possibilities

AI is not only about making existing processes faster. AI introduces new opportunities such as use it to to solve problems that were previously difficult or impossible to do.

Which raises a more interesting transformation question: What could we now do that we could not realistically have done before AI?

My reflection

Perhaps the biggest takeaway for me was that scaling AI is as much an organisational architecture problem as it is a technology problem.

The tooling matters, but so does the knowledge foundations, operating model, leadership alignment and clarity around the problem being solved.

Session 03: In Conversation with Pam Maynard OBE

About the session

This session focused on what AI transformation requires beyond simply deploying technology.

The conversation featured:

  • Pamela Maynard, Corporate Vice President, AI Transformation, Microsoft
  • Savannah Adams, Co-Chair, CBERG (City Black ERGs)

This session covered the discussions around leadership, organisational change, operating models, adoption, trust, accountability and measurable business value.

My key takeaways

This was a session where Pam shared her experience leading Microsoft AI Transformation, with Microsoft as Customer zero.

Below are things that stood out from her conversation with Savannah

i) What happens to the capacity AI creates?

Pam answered the question: What do we do with capacity created by AI?

  • That is ultimately a leadership decision.
  • If AI creates capacity, organisations need to rethink work and determine where human judgement remains important.
  • That could lead to new roles, changes to existing roles or consolidation of old ones.
  • But the starting point remains outcomes.
    • What are we trying to achieve?
    • What value are we creating for customers and stakeholders?
    • And importantly, is the underlying process itself effective?
  • Fix the process first, then consider applying agentic AI.

ii) Entry-level talent still matters

Pam highlighted the importance of continuing to invest in entry-level roles. Today’s entry-level workforce could potentially become one of the most AI-native generations in the organisation.

That makes mentorship, judgement, critical thinking and responsible AI important skills to develop alongside technical AI capability.

iii) ROI does not always look the same

Another useful reminder was that return on investment can take different forms and operate across different timescales.

AI transformation therefore needs transparency around expected outcomes rather than a simplistic definition of productivity.

iii) What are the biggest barriers?

Pam shared her learning around what are the biggest barriers when it comes to AI adoption:

  • Ability to observe AI and operationalise AI – getting overwhelmed
  • Need to define clear vision on use of AI
  • Business and Tech working together (cross-functional)
  • Governance that is shared across organisation. HR. Legal. Marketing and other functions
  • Clear accountability – who owns value
  • Role of Managers and Teams
  • Get feedback from engineering teams
  • Do not focus on consumption for consumption sake.
  • We must have diverse representation to get AI right.

iv) Accept that you are never going to be “ahead” when AI is advancing at lightning speed

Trying to know everything is probably the wrong target. Instead, we need to think about how AI changes the way we work.

Pam shared the following advice to CEOs on AI adoption:

  • Early stage into AI: Look at your work and ask how AI can change how you work, not simply make you work faster.
  • Mid-level AI maturity: Invest more in connections, work across-functions. Think end-to-end about where AI creates value and where organisations need to learn
  • Mature in AI adoption: Look around the decision-making table and ask , is that representative enought? Is it diverse enought? If not, change that

My reflection

The theme that stayed with me was the importance of treating AI transformation as organisational transformation. Technology can create capacity and new possibilities, but people still have to decide what outcomes matter, how work should change and where responsibility sits.

It reinforced a principle that applies well beyond AI: Do not automate a broken process and expect transformation.

Session 04: Career Longevity in the Automation Age

About the session

How do we build careers that remain valuable as technology continues to change the nature of work? This session sesion explored exactly that question.

The panel brought together:

  • Oli Ikechi-D’Amico, CEO & Founder, Fully Bossed
  • Paula Panarra, General Manager, Avanade UK & Sweden
  • Vivian Eni, Global HR Business Partner & Senior Manager, EPAM Systems
  • Jermaine Benson, VP UKI Strategic Accounts, SAP UKI Limited

The session considered career reinvention, transferable skills, internal mobility and how professionals can remain resilient as automation changes roles and industries.

My key takeaways

All the panelists emphasised the importance of human skills during the age of AI. Oli in particular brought this point to life referencing the recent EY’s $100 million bonus program to reward their employees who demonstrate critical human skills alongside AI.

Paula emphasised the human company experience, context and business knowledge that people bring to the table. What she referred to as role-based fluency.

Below are things that stood out from the panelists:

i) Human skills become more important in the age of AI

I noted several skills that were highlighted:

  • Curiosity
  • Judgement and decision velocity
  • Communication
  • Business acumen
  • Adaptability
  • Leadership
  • Collaboration
  • Innovation
  • Thoughtful experimentation with technology

Paula emphasised the importance of avoiding becoming static in mid-career. Continuous learning matters, but so does company experience, context and business knowledge. Technical fluency alone is not enough.

ii) Your network is part of your career capital

Another theme was relationships.

  • Who are the first people you think about in a room?
  • What value do you bring?
  • Who are the mentors and sponsors around you?

Networks need to be intentional. Our career value does not come simply from working hard. It also comes from the impact we create, the knowledge we bring and the relationships we build.

iii) Reinvention is an addition, not necessarily a leap

I liked the idea shared by one panelist, that reinvention can be an overlap rather than a leap. You do not always need to discard everything you have done before and begin again. Instead, take your existing experience, skills and strengths into a new area.

Pick a problem. Learn. Solve it. Build from there.

And perhaps most importantly, start acting before you feel completely ready. Failure is part of the journey, as Paula summirized it.

My reflection

This session probably captured one of the biggest career questions of the AI era. The differentiator cannot simply be access to the technology, because increasingly everyone will have access. The difference will be how we use AI as an ally while combining it with the distinctly human judgement, experience, relationships and curiosity that we bring to the table.

Session 05: Are We Ready for the Next Generation of Cyber Threats?

About the session

This session explored how AI is changing the cyber-security landscape.

The panel included:

  • Dr Iretioluwa Akerele, Director, Cybarik Limited
  • Kwaku Kyei-Manu, Director – Wealth Management
  • Kingsley Nanner, Security Lead – Client Solutions, Avanade
  • Bella Powell, Government CISO, Department for Digital, Culture, Media and Sport

The discussion was positioned around the increasing speed, scale and sophistication of AI-enabled cyberattacks, whether current defences can keep pace and how organisations, government and communities should prepare.

My key takeaways

My first note from this session was direct: AI is enabling cyberattacks at lightning speed.

That creates a challenge not simply around preventing attacks, but around the speed at which organisations can understand and respond to them.

Kingsley and the panelists made the point that approach to cyber security is no longer business as usual. Some of the key security elements to be addressed include:

  • Establish secure or zero-trust gates.
  • Remove black-box and grey areas. We need to understand how the systems operate.
  • Do not rely on obscurity as a defence.
  • We need to act with speed and at scale.
  • Stop ignoring system-level risks while only focusing on organisation-level risks.

i) Visibility before response

When thinking about incident response, one of the strongest messages one of the panelist raised was to invest in visibility and observability as a first step.

You need to understand the attack vectors. You also need to plan on the assumption that risks will materialise rather than simply hoping they will not. That means building the capacity to respond.

ii) Governance needs to keep pace

The panelists covered on regulation and governance. There was a theme of outcome-based regulation and keeping examples and controls current rather than relying on approaches that quickly become outdated.

Evidence-led decision-making and shared ownership become increasingly important. Security cannot be somebody else’s problem.

A blame culture is not a viable operating model when threats can move across organisational boundaries and systems.

iii) Responsible AI needs security built into it

Kingsley outlined shared responsibility across models creators, solutioning partners and end users.

  • Owners of models need to create models with Responsible AI and safety in mind
  • Solutioning partners need to define solutions with governance and controls.
  • End users cannot be expected to be the first line of defence against every AI-enabled threat. The systems themselves need appropriate protections.

And because these threats extend beyond individual organisations, collaboration matters too, whether through industry groups, cyber advisory boards or security leaders sharing experiences and risks. Bella highlighed the collaboration with Cyber Advisory Boards and Internationa CISOs

My reflection

What I took away from this session is that AI changes both sides of the security equation. It can increase the capability, scale and speed available to attackers, but it can also enable new forms of security innovation.

The answer cannot be to step away from innovation. We need to lean into innovation for security while strengthening visibility, controls, governance, collaboration and shared ownership.

Session 06: AI Reality Check – Beyond the Buzzwords: What Does It Really Take to Make AI Work?

About the session

My final session of the day was Avanade’s interactive AI Reality Check workshop held in the Workshop Zone. The workshop was designed around a highly practical question: what separates AI ambition from AI impact?

Rather than treating access to AI technology as transformation in itself, the workshop was positioned around understanding organisational readiness, challenging assumptions and identifying practical experiments with clear measures of success.

The Avanade team including Rioh-Burke Derby, Ainsley Bell and Afsheen Sajid facilitated this hugely engaging and well attended workshop.

Attendees completed round-table activities that walked through solving actual industry related NHS use cases and scenarios using AI. Participants works in groups, and worked on requirements assessments, designing AI enabled solutions using PoC, MVP based approaches before going to production.

Cross-cutting reflections

Looking back across all the sessions I attended, what interests me most is how often apparently different conversations converged on similar organisational questions.

1. AI transformation is not really about the AI

Across several sessions, the harder questions were about everything surrounding the technology.

  • What problem are we solving?
  • What does the operating model look like?
  • Is our knowledge properly architected?
  • Who owns the outcome?
  • What happens to the capacity we create?
  • How do people work differently as a result?

Those are architecture and organisational-design questions as much as technology questions.

2. Human judgement becomes more valuable, not less

A recurring theme in my notes was human judgement. Whether discussing careers, enterprise AI adoption or cyber security, the question was rarely about removing people altogether.

It was about understanding where technology creates value and where human judgement, critical thinking, accountability, communication and experience remain essential.

3. Responsible adoption requires visibility and accountability

Trust appeared repeatedly in different forms.

  • In enterprise AI, can we understand what an agent has done and undo it when necessary?
  • In cyber security, do we have enough visibility and observability to understand what is happening?
  • In organisational adoption, who owns the outcome?

Different problems, but closely related questions. If organisations cannot see, understand and explain what their technology is doing, trust becomes difficult to sustain.

4. Diversity matters to technology outcomes

This theme was present from the opening keynote and resurfaced later when thinking about leadership, AI adoption and the people sitting around organisational decision-making tables.

The important point for me is that representation is not separate from technology strategy. The people shaping technology influence what gets built, what problems are prioritised, what assumptions are accepted and whose experiences are represented.

5. AI adoption ultimately requires redesigning work

Perhaps my strongest takeaway from the day was this: Do not limit AI to making today’s work faster.

Ask more fundamental questions.

  • What work should change?
  • What work should disappear?
  • Where should human judgement remain?
  • What previously impossible opportunities are now achievable?
  • What do we do with the capacity AI creates?
  • And what value are we ultimately creating for customers and stakeholders?

Those feel like much more valuable questions than simply asking which AI tool we should deploy next.

My key takeaways from the day

If I had to reduce the day to a handful of ideas, these are the ones I would keep:

  1. Start with the problem, not AI. Define the outcome before choosing the technology.
  2. Architecture extends beyond technology. Knowledge, governance, operating models, accountability and people all influence whether AI actually works at scale.
  3. Fix the process before automating it. Applying AI to a poor process does not automatically transform it.
  4. Think about the capacity AI creates. Productivity only becomes valuable when organisations decide intentionally what to do with the capacity released.
  5. Invest in human capability alongside AI capability. Judgement, communication, curiosity, business context and relationships will continue to differentiate people.
  6. Responsible AI and cyber security require visibility and accountability. Trust needs mechanisms behind it.
  7. Representation matters. Diverse perspectives around the decision-making table help organisations build technology that works for a broader range of people.
  8. Do not wait until you feel completely ready. Technology will continue moving. Careers will continue changing. Learn, experiment, build relationships and keep moving.

Closing thoughts and Next steps

BTF 2026 gave me plenty to think about. We often talk about AI transformation as though the fundamental challenge is access to better models, tools or computing power.

My experince from the day tell a slightly different story. The harder questions concern how we organise around the technology.

  • How do we redesign work?
  • How do we maintain trust?
  • How do we build careers that evolve with technology?
  • How do we ensure the right voices are around the table?
  • How do we secure increasingly complex systems?
  • And, ultimately, what outcomes are we trying to create?

Technology will continue to evolve quickly. Our challenge is to make sure that the organisations, careers, governance and human capabilities around it evolve too.

If you attended Black Tech Fest 2026, I would be interested to hear what stood out for you. And if you are working through similar questions around AI adoption in your organisation, let me know which of these challenges resonates most.

Stay tuned for future posts, and feel free to leave us your comments and feedback as well.

Search experiences in SitecoreAI now support push sources – your step-by-step guide

Screenshot of the Sitecore AI interface showing the Content dropdown menu with 'Search Sources' highlighted and a calendar on the right side.

Context

One of the challenges with search is that not all content lives neatly inside your CMS — and not everything can be crawled. With the introduction of Push Sources in SitecoreAI Search, there is now another option. Instead of relying on a crawler to discover and index content, we can submit documents directly to SitecoreAI Search using the Ingestion Service API.

Key Highlights & Use Cases

  • External Data Integration: Index content from third-party enterprise platforms, including external product catalogs, knowledge bases, and custom applications.
  • Real-Time Index Synchronization: Keep SitecoreAI search indexes cleanly synchronized with external source-of-truth databases.
  • Indexing Beyond Crawling: Render non-crawlable content, gated assets, or internal payloads searchable within SitecoreAI.
  • API-Driven Workflows: Build automated ingestion pipelines directly integrated into your existing CI/CD or data orchestration flows.

In this blog post, I will walk you through a step-by-step guide on how to set up push sources in SitecoreAI, submit payloads using the Ingestion Service API, and seamlessly connect your external content.

A product catalog example

For this walkthrough, I’m going to use a simplfied external product catalog. Let’s imagine we have a PIM containing:

Product ID
Product Name
Description
Category
Price
Product URL

The PIM remains the source of truth.

SitecoreAI Search is simply consuming a searchable representation of that information, as shown in the following JSON exampple:

{
"id": "product-1001",
"title": "Scrunch Running Shoes",
"description": "Scrunched running shoes for everyday training",
"category": "Footwear",
"price": "79.99",
"productUrl": "https://example.com/products/product-1001"
}

Our Push Source schema, therefore, will have these fields defined as follows.

Push Source schema

FieldDescription
idProduct ID
titleProduct name
descriptionProduct description
categoryProduct category
priceProduct price
productUrlProduct URL

Example Integration Reference Architecture

Below is sample integration reference architecture. This setup empowers developers and architects to take full, granular control over search index synchronization

Diagram illustrating the data flow from an external Product Information Management (PIM) system to SitecoreAI, including integration, ingestion, and search processes.
  • External PIM / Product System represents your source of truth
  • Integration Layer: Your custom-built middleware—whether an Azure Function, bespoke API, or other service—actively listens for change events from the external system
  • Ingestion Service API: Once transformed, your integration layer makes an authenticated HTTPS call to the SitecoreAI Ingestion Service API
  • SitecoreAI Push Source: Real-Time, API-Driven Synchronization, Fine-Grained Content Control
  • SitecoreAI Search: the ultimate user-facing search experience

Step 1 – Creating the Push Source in SitecoreAI

In SitecoreAI, navigate to the Search Sources area and create a new source:

  1. On the menu bar, click Content > Search sources.
  2. On the Search Sources page, click Create Source.
  3. In the Create new search source dialog, click Push Source.
  4. In the Create new search source dialog, in the Source Name field, enter a name for your source.
  5. Optionally, enter a description of your source.
  6. Click Next step.
  7. Click the Locales drop-down list to choose the languages that this source will support, and then click Next Step.
  8. Configure the fields in your source and their behavior, and then click Next Step.
  9. Enable the advanced settings you want to use in this source and then click Save.

After the source is created, applications can ingest content by submitting authenticated requests to the Push API

Screenshot of the Sitecore AI interface displaying the 'Search Sources' section, showing a product catalog with details such as name, description, config status, source type, last index, and last updated.

Step 2 – Verify the Push Source created

Clicking on a source allows you to view and edit that source’s configurations, including fields and rules.

To view the details associated with a source:

  1. On the menu bar, click Content > Search sources.
  2. Click a source.
  3. Click any of the following tabs:
    • Fields – displays the list of fields indexed by the source, and their configurations.
    • Pinning Rules – displays a list of pinning rules active on the source. Click Add a pin to create a pin rule.
    • Boost/Bury Rules – displays a list of boost and bury rules active on the source. Click Add new rule to create a new boost or bury rule.
    • Settings – displays the source settings, such as the source name, ID, and advanced settings.
    • Preview – displays a preview of the content indexed in this source, and the number of fields that have been indexed for each item.

Screenshot of a product catalog management interface displaying the 'Pinning Rules' tab with a message indicating no rules have been added yet.

Step 3 – Generate API Credential

All Ingestion Service API requests require a static API key in the Authorization header:

Authorization: ApiKey <your-api-key>

To create an API key:

  1. In SitecoreAI, click Content > Search Sources > Settings.
  2. Click Create credential.
  3. Enter a name for the credential and an optional description.
  4. Click Create, then copy the API key. The key is displayed only one time and cannot be retrieved after you close the dialog.

Step 4 – Understanding the API Endpoint

The Ingestion Service API endpoint follows this pattern:

POST {base_url}/v1/index/{config_id}/push

This endpoint submits document operations to create, update, or remove documents from a search source.

There are two values here that you’ll need from your SitecoreAI configuration:

base_url - API Endpoint value for the source, as shown is screenshot below
config_id - The identifier of the search source configuration.
Sitecore AI Push API configuration interface displaying the API endpoint and related credentials.

Below is a sampe Authenticated API request

POST https://.../v1/index/abc123/push
Authorization: ApiKey xxxxxxxxx
Content-Type: application/json
{
...
Request Body
....
}

Step 5 – Build Sample First Payload

Now let’s create our first document.

Here’s our product:

{
“id”: “product-1001”,
“title”: “Scrunch Running Shoes”,
“description”: “Lightweight cushioned running shoes designed for everyday training and comfortable road runs.”,
“category”: “Footwear”,
“price”: “74.99”,
“producturl”: “https://example.com/products/product-1001“
}

We then wrap the document in an ingestion operation.

Conceptually:

Request
|
+-- operations
|
+-- document

Testing with Postman – showing sample first payload

JSON request example for pushing product data, including title, description, price, category, and product URL.

A successful response is shown below:

Our push source with a few sample products

Multiple documents can be pushed in a singple POST request by adding items in the payload

Simply include more items in the operations array object

Step 6 – Handling updates and deletes

An update from the PIM system will be propagated into SitecoreAI, conceptually:

  • The PIM raises an event.
  • Our integration receives it.
  • We transform the product.
  • Then send the updated representation to SitecoreAI.
Logical flowchart illustrating integration design, showing event triggers for created, updated, and deleted events with corresponding actions.

When a product is removed from PIM, we will also need to delete it in SitecoreAI. So the integration should also understand:

  • CREATE
  • UPDATE
  • DELETE

Step 7 – Troubleshooting

When the API doesn’t work, I recommend working through the problem systematically.

a) 401 / authentication errors

Check the following:

API key
Authorization header
Environment
Source credentials

Make sure the header is:

Authorization: ApiKey ...

rather than assuming a bearer token is required.

b) Configuration error

Check the following:

config_id
Source exists
Source is published
Correct SitecoreAI environment

c) Schema / Data type errors

If SitecoreAI complains about a field, compare your payload with the source schema. Ensure the correct data types for field types.

Below is an example error message with pascal cased productUrl instead of all lowercase producturl

Don’t assume that because a value looks like a number or date in your source system, the API expects exactly the same representation.

d) Ingestion Service API endpoint errors

When provisioning the Push API credentials initially, the Ingestion Service API may temporarly be shown as https://push.sitecorecloud.io which will not work. It may take awhile to https://edge-platform.sitecorecloud.io

If you encounter further issues with the endpoint, reach out to Sitecore Support team for further investigations.

Final Thoughts

Push Sources are an interesting addition to SitecoreAI Search because they solve a very practical problem:

What do you do when the content you want to search doesn’t naturally live in Sitecore — or can’t be crawled?

Instead of trying to force everything through a crawler, we can explicitly push the content we want into the search index. For developers and architects, that opens up several possibilities:

  • External PIM integration
  • Product catalog search
  • Knowledge-base integration
  • Custom application data
  • Event-driven search updates
  • Non-crawlable content

And perhaps more importantly, it gives us control over the integration. We decide what gets indexed. We decide when it gets updated. And we decide how the external data is transformed before it reaches SitecoreAI Search.

For me, that’s where Push Sources become particularly interesting — not simply as another SitecoreAI feature, but as another integration pattern for building modern, composable search experiences.

Next steps

In this blog post, we looked at a step-by-step guide for setting up SitecoreAI Search Push Sources. We also looked at how to authenticate with the Ingestion Service API, prepare the payload, push external content into the search index, and troubleshoot some of the common issues you may encounter.

Push Sources provide a useful way to bring externally managed or non-crawlable content into SitecoreAI Search. They can also be a great fit for event-driven integrations where search content needs to be kept in sync with an external system.

Be sure to check out the SitecoreAI documentation and the Ingestion Service API documentation for further guidance and details on working with Push Sources.

Stay tuned for future posts, and feel free to leave us your comments and feedback as well.

SitecoreAI DAM evolution – Modern vs Legacy Media Library

Background and Context

Sitecore released SitecoreAI New Media Library in beta version back in June 2026. SitecoreAI’s Modern Media Library brings a streamlined workspace to move beyond traditional folder-based workflows. But how does this next-generation experience stack up against the legacy Media Library? In this blog post, we’ll dive into Modern Media Library highlighting the core AI-powered capabilities—including automated metadata enrichment, smart tagging, and instant alt-text generation—that supercharge asset discovery, SEO, and accessibility.

What is New Sitecore Media Libary?

Some of the key highlights of the Modern Media Library are:

Purpose & Positioning: It provides a streamlined workspace for day-to-day media tasks. While the legacy Media Library remains accessible for folder-based workflows, the new modern Media Library is now the recommended primary experience for discovering, using, and reusing digital assets.

Key benefits of the modern medial library:

  • AI-Powered Efficiency: Automatically enriches metadata upon upload by using AI to generate image tags and descriptive alt text, enhancing SEO and accessibility.
  • Smart Discovery: Features advanced search and filtering tools built for high-speed navigation and finding assets quickly.
  • Seamless Integration: Uses a simplified interface for tagging and organizing assets, laying the groundwork for a unified media-picking experience.
  • Simplified Sharing: Allows users to generate public links to instantly share media assets or utilize them directly inside the SitecoreAI Page Builder.

Availability: Sitecore have released Modern Media Library in beta version and is being rolled out as part of a phased release. It will appear within the Content menu in your SitecoreAI environment, as shown below:

Let us explore the Modern Media Library together

There is a dedicated Media page that is home to the Modern Media Library. This it the page you land on when opening the link Content > Media (Beta) as shown above.

At first glance, the Media page experience looks familiar with the ContentHub asset management capabilities for those of you who have worked with ContentHub.

The Media page has a more intuitive and streamlined experience:

  • You can upload, organize, and manage media assets in one place
  • Automatic tagging leveraging AI
  • Image alt text generation during upload, great for search engine optimization (SEO) and Web Content Accessibility Guidelines (WCAG) compliance
  • Improve discoverability and accessibility of assets

Let us upload an image into Modern Media Library

To upload a media file, simply click on the Upload button on the top right hand corner of the Media page. This will open a popup as shown below.

You can either use drag-and-drop or simply browse for your file from your device. You can upload multiple files at once, simply select your file to upload, then click Upload file button as shown below.

 You can also upload documents, such as .pdf files, as well as audio (.mp3 and .wav) and video files (.mp4 and .webm).

An upload progress notification will track upload status and indicate once completed

Media metadata generated with AI

Using AI, relevant and consistent metadata is automatically added to images when a file is uploaded. Note that the automatic metadata enrichment on upload is not available for videos, audio files, or PDFs and is not configurable in the current beta release.

As shown below, I have selected the uploaded file from the Media page, to view the details section.

The details include:

  • The media item ID, generated alt text and tags.
  • An image thumbnail for .jpeg, .png, .gif, .web, and .svg files
  • A full page preview,

I can now view and edit the metadata:

  • Tagging
  • Alt Text
  • Details
  • Generate a Public Link
  • Set a focal point

Generate Public Link

To make an image public, add a public link and set the availability window that determines when the link is active. Clicking on the Add public link will open the popup shown below.

In the Add public link dialog, specify media availability by doing one of the following:

  • If you want the media item to be available until manually removed, click No end date.
  • If you want the media item to only be available up to a specific date, click Specific end date and select a date and time.

Click Add public link. This creates a public link that you can share with others, as shown below

Filtering media items and other features

You can filter media items visible to the public using Public access filter which will list those with Public links as generated above. You will notice the Link icon overlay on the search results thumbnails as shown below.

You can also filter use the following:

  • Media type – lets you select the type of media item you want to display.
  • Created by – lets you display media items created by the current user or other users.
  • Created on – lets you display media based on the date when the media item was created.
  • Last updated by – lets you display media items last updated by the current user or other users.
  • Last updated on – lets you display media based on the date when the media item was last updated

Page Editor – Browsing Media Library

In the Page Editor, click Browse media library link

This will then open Add media popup as shown below. You will see we have two options available

  • Media Library tab – which is the Legacy Media Library
  • Media (BETA) tab – which is the Modern Media Library

Adding media from Legacy Media Library

Select the media item from the list within the Legacy Media Library tab, and insert it to the Page Editor

Adding media from Modern Media Library

Select the media item from the list within the Modern Media Library tab, and insert it to the Page Editor. Notice the AI-powered Search media is available for this option.

As shown below, the Page Editor will indicate the Image path accordingly to reflect which Media Library was used:

Modern Media Library Image in Page EditorLegacy Media Library Image in Page Editor

Next steps

In this blog post, we have explored the SitecoreAI Modern Media Library that is currently available in BETA. I have walked you through the user experience for uploading, viewing media assets as well as using them within Page Editor. I hope you found this valuable. You can view the feature announcement back in June 2026 as well as explore and get further details from Sitecore docs.

Please feel free to leave us a comment and feedback. Stay tuned for future posts.

Simplified Marketer MCP setup for Copilot Studio updated step-by-step guide

Context

I have previously created a step-by-step guide on how you can connect your Microsoft Copilot Studio agents to the Sitecore Marketer MCP for seamless access to Sitecore’s marketing features. You might recall at the time we had leveraged the OAuth workaround, which required manually adding a resource query parameter to the authorization URL

The good news is that, the workaround is no longer needed. In this blog post, I will walk you through a step-by-step guide, complete with screenshots for the simplified Marketer MCP setup for Copilot Studio. We will be leveraging the standard Model Context Protocol setup flow.

Pre-requisites

Before you begin, make sure you have:

  • A valid Sitecore account with required permissions
  • A valid Microsoft Copilot studio account with access permissions to Create agents and Create Custom Connectors
  • Create a new agent within Microsoft Copilot studio if you don’t already have one.

Step 1 – Add a tool to the agent

  • Open Copilot Studio and open an existing agent
  • Go to the Tools tab for your agent then click  + Add a tool. The Add tool popup shown below opens
  • In the Create New section, select MCP icon Add new MCP.
  • The Add a Model Context Protocol server popup opens as shown below
  • In the Add a Model Context Protocol server dialog, enter the following details:
    • Server name – for example, Marketer MCP.
    • Server description – a short description of what the Marketer MCP does. For example,Connects Copilot Studio to the Sitecore Marketer MCP server.
    • Server URL – the Marketer MCP server endpoint:
  • Under Authentication, select OAuth 2.0
  • Enter the following OAuth details:
  • Click Create.
  • When Copilot Studio displays the redirect URL and MCP server details, click Next.
  • In the Add tool dialog, go to Connection. Click Not connected, then click Create new connection.
  • Specify the Display name (optional).
  • Click Create. Copilot Studio opens the Sitecore authorization page in your browser.
  • In the Marketer MCP server authorization request dialog, click Allow Access.
  • Select the organization and tenant you want to use with the MCP server.
  • When the connection shows as connected, click Add and configure.

You should now see the Marketer MCP details and its tools enabled and ready to use. You can begin entering prompts to interact with Sitecore through the MCP.

Step 2 – Get prompting

From your Copilot prompt text area, you can now use natural language to prompt and perform actions in SitecoreAI.

To verify the connection, open the agent test chat panel and enter a prompt like List all available sites. If the connection is successful, the client returns a list of sites for the selected tenant.

If Copilot Studio asks you to connect the MCP server before using it, open the connection manager, click Connect, click Submit, and then retry the prompt

Step 3 – Troubleshooting guide

You may come across some issues when establishing the connectivity into Marketer MCP from Copilot Studio. Below are the issues I encountered and how I resolved them.

Issue 1: Environment Access permission error

The error below may occur when your Copilot Studio account doesn’t have access permissions to create a custom connection

Connection creation/edit of ‘Marketer MCP’ has been blocked by Data Loss Prevention (DLP) policy ‘PowerApps Policy without CDS’.

Issue 1 Resolution:

Work with your ITS teams to provision the correct level of needed access in Copilot Studio

Next steps

In this blog post, we looked at a step-by-step guide for the simplified Marketer MCP setup for Copilot Studio. We also looked at how to verify the connection and how to troubleshoot potential issues that you may encounter.

The Marketer MCP provides tools to create content, manage campaigns, run marketing automation, and handle content management. Be sure to visit example prompts and the Marketer MCP tool reference for further guidance from official Sitecore docs.

Stay tuned for future posts, feel free to leave us comments and feedback as well.

SitecoreAI – Unlock massive enterprise scale with Next.js Web Apps on Azure and Multisite Architecture

SitecoreAI implementation architecture adopted from developers.sitecore.com

Context

While serverless hosting remains a popular recommendation for SitecoreAI, many large-scale organizations operate under strict governance, compliance, and infrastructure mandates that necessitate a Microsoft Azure-based strategy.

Sitecore recommends a serverless hosting infrastructure for headless application as these are more performant, scales better, and introduces less complexity. The main reason for not recommending Azure App Services is that it takes a server infrastructure approach to headless hosting, leading to performance implication, manually managed scaling, and additional management complexity.

In this blog post, I will bridge the gap between “standard headless” and “enterprise-ready,” showing you how to maintain the agility of a modern front-end stack while leveraging the robust security and scale of the Microsoft ecosystem.

Recap on SitecoreAI Implementation Architecture

I have shared the SitecoreAI implementation architecture above, which I adopted from developers.sitecore.com.

  • In the architecture, we have SitecoreAI SaaS hosted. This is the Authoring environment for Content management, editing, and setup typically used by Authors and Marketers.
  • The Editing host – WYSIWYG editing experience (Page builder or Design studio) used by Authors for editing only
  • The Front-end hosting – Public website/app rendering for end users (website visitors)
  • The code-base or solution – SitecoreAI decouples the front-end presentation from delivery. You can build your solution with any front-end technology that is supported by the Content SDK

Running Next.js on Azure App Services

Azure App Services supports running both Node and Docker Web Apps. Please note that Next.js is a JavaScript application and JavaScript is a single-threaded language, the Node.js runtime for JavaScript is also single-threaded. Careful considerations have to be taken to avoid performance issues with multisite architecture.

There are two approaches we can leverage here:

  • One app for multiple websites – deploy a single Next.js web application that will have multiple websites
  • One app per website – deploy a separate Next.js web application for each website

One app for multiple websitesOne app per website
Multiple websites structured within same code baseCan isolate websites to separate code bases
Deployment pipelines will deploy multiple websites together and at the same timeDeployment pipeline can be separated to match code base structure, each website deployed separately
Every deployment to the Web App will affect all sites hosted within the standalone instanceSince the Web Apps are isolated deployments will only affect the relevant website
Hosting small websites that share the same codebase and differ mainly by domain/content, one app for multiple websites is often more resource-efficient.Separate web apps within same Service Plan are usually the better operational choice if the websites have different release cycles, different teams, different dependencies or different performance profiling.

Azure App Service Plan scaling architecture

One of Azure App Services’ biggest limitations is performance. The diagram below helps illustrate how an Azure App Service Plan works and how it hosts web applications.

Here is a breakdown of the key concepts shown in the image:

App Service Plan Definition

  • Compute Infrastructure: An App Service Plan defines the physical or virtual resources used to host your apps.
  • Core Specs: It determines the geographic region, Operating System (Windows/Linux), Virtual Machine size, and scaling capabilities.

Resource Sharing

  • Shared Pool: All web apps (Web App 1, 2, and 3) assigned to the same plan share a single pool of compute resources.
  • Shared Assets: They share CPU, RAM, disk space, outbound connections, and auto-scale rules.
  • App Isolation: Each individual app maintains its own unique custom domains, SSL certificates, app settings, and deployment slots.

Scaling Behaviour

  • Plan-Wide Scaling: Scale-out operations happen at the plan level, not the app level.
  • Instance Replication: When you scale out from 1 to N instances, every single app in that plan is automatically deployed and run on every new instance.

Pricing and Cost

  • Pricing Tiers: Capabilities scale across tiers, moving from Free, Shared, and Basic up to Standard, Premium, and Isolated.
  • Fixed Plan Cost: You pay for the App Service Plan itself, not the individual apps.
  • Bill Stability: Adding more apps to the plan or removing them does not change your overall bill.

App Service Sizing considerations and limitations

Consider Tiering App Service based on criticality of your workloads

Critical App Service Plan tier – for Production workloads

For production workloads, consider Premium v3 Plans, which have superior single-threaded performance over Basic and Standard Plans. Premium v3 App Service plans with Availability Zones enabled have been observed to be more reliable during Azure App Service Platform Updates. Also limit the number of Web App deployed in this critical service plan to a minimum.

Non-production Service Plan tier

For non-production workloads, consider Basic and Standard Tier plans, as well as deploying many Web Apps to share the service plan, as shown below.

Azure App Services Specific Limitations

Depending on your use cases, you may encounter limited network port capacity for outbound network calls. Official Sitecore docs indicate some customers have hit the network connection limits’ upper bounds, leading to levels of performance degradation.

App Services in an out-of-the-box configuration have a soft limit of 128 ports for outbound connections via SNAT. Exceeding 128 ports can cause SNAT Port Exhaustion, leading to connection failures to Edge or any other public endpoint.

Please review Troubleshooting intermittent outbound connection errors in Azure App Service, specifically the section “Avoiding the problem” which recommends the use of the vNET Integration feature and NAT Gateway, this greatly alleviates SNAT issues, Please also review Azure subscription and service limits, quotas, and constraints for other limits that you may encounter.

Scalability limitations

Efficient scaling requires a content delivery network (CDN). However, Azure App Services does not come with a CDN by default.

Azure does offer the Azure Content Delivery Network service, but the endpoint and caching needs to be manually managed, which will require further monitoring and management.

Azure Front Door is a global, scalable entry-point that uses the Microsoft global edge network to create fast, secure, and widely scalable web applications. It combines Content Delivery Network (CDN) capabilities, global HTTP load balancing, and robust security, including built-in DDoS protection and a Web Application Firewall (WAF)

Next steps

In this blog post, we looked at alternative to Sitecore recommended serverless hosting for SitecoreAI like Vercel or Netlify and looked at Microsoft Azure-based strategy. We explored the Azure App Services including the approach to host multisite architectures and scaling considerations. We also looked at App Service Sizing consideration and some limitation to be aware of. For further reading, consider exploring Sitecore docs on Multisite Architecture resources.

Stay tuned for future posts, feel free to leave us comments and feedback as well.

SitecoreAI – Microsoft Entra ID and SSO integration architectures

Context

In this blog post, we are going to explore options for Sitecore Single Sign-On(SSO) integration strategies for multiple Microsoft Entra ID tenants to a SitecoreAI tenant for a large enterprise company or government scenarios.

A large enterprise company or government will typically consist of one or more independent business units, such as company or brand or a government department. This usually means they have independent Identity and Access Management,they use for their business users.

Sitecore has the concept of an organization which represents a business unit, such as a company or brand. This capability enables Sitecore to isolate your related team members and Sitecore products to which you are subscribed. An organization can have one or more Sitecore products, with multiple instances of each product.

How is Sitecore organization structured?

In Sitecore, an enterprise company or a solution partner might have access to multiple organizations, while a smaller company might have one organization. Each organization uses a set of rules to determine who can access each product and what work they can do.

Organization management is handled in the Cloud Portal. Use the portal to create users and manage their access and permissions for all your organization’s products.

Below is a sample screenshot of the Cloud Portal. In this example, Joby has access to the listed Sitecore products and Apps shown below. We will cover details on how to login into Cloud portal using SSO in a later section.

If Joby belongs to multiple organizations, they can Switch to another organisation using the organisation switcher as shown below.

Sitecore organizations and SitecoreAI

We now have a good understanding of how the organizations are organised and how we leverage them to manage who has access to which products and apps within your subscription.

Below is a visual representation that I have used to try and bring into life Sitecore organizations, SitecoreAI projects and environments

In SitecoreAI, a project is a logical grouping of environments. Each project can include several environments, such as a development, testing, and production environment. The number of projects you can create depends on your subscription.

Signing into Sitecore Cloud Portal

You can sing into the Sitecore Cloud Portal using the default Sitecore authentication or SSO. With SSO, members can log in to the Sitecore Cloud Portal and access SitecoreAI (and other Apps) using their existing identity providers.

Sitecore Cloud Portal supports identity providers that use the OpenID Connect (OIDC) protocol or Security Assertion Markup Language (SAML) protocol. We are going to consider Microsoft Entra ID scenarios, although the same concepts will be applicable to supported identity providers as well.

Sitecore Cloud Portal enforces max of five(5) SSO connections per organization

An organization can have up to five(5) SSO connections, with each connection supporting up to 50 domains.

This presents a challenge for a large enterprise company or government which has more than 5 independent brands or entities.

Scenario 1 – SSO Integration architecture with up to 5 connections

This use case will apply to small sized company with up to 5 independent brands or entities.

Below is a reference architecture that illustrates the setup for SSO connection with SitecoreAI.

How scenario 1 works

Each independent brand or entity maintains its own Microsoft Entra ID tenant and registers its own application.
Sitecore is configured with multiple OpenID Connect identity providers, one for each tenant.

Microsoft Entra ID Configuration steps

  • For each Microsoft Entra ID tenant, create an App Registration
  • Configure redirect URI to the Sitecore identity endpoint
  • Enable ID tokens
  • Securely capture these details to be configured within Sitcore Cloud Poral:
    • Tenant ID
    • Client ID
    • Client Secret

Sitecore Cloud Portal configuration steps

Add a separate OIDC identity provider configuration for each Microsoft Entra ID tenant.

Example parameters typically include:

  • Authority URL (tenant-specific login endpoint)
  • Client ID
  • Client Secret
  • Response type (ID token)
  • Scope (openid, profile, email)

Scenario 2 – SSO Integration architecture with 5 or more connections

This use case will apply to medium-to-large sized company or government with more than 5 independent brands or entities.

Below is a reference architecture that illustrates the setup for SSO connection with SitecoreAI.

How scenario 2 works – use of “dummy” organizations

In scenario 2, it will work similar way to scenario 1, with an additional constraint that we now have more than 5 Microsoft Entra ID tenants to connect with Sitecore.

This will require creation of additional Sitecore organizations to match the number of Microsoft Entra ID tenants to be connected to Sitecore. The reference architecture above, for example, has two (2) organizations created to map to the ten (10) entities.

In this case, Sitecore will activate the SitecoreAI product only within the main organisation (Org 1) and this will host your SitecoreAI instance. The rest of the additional organisations will be configured as “dummy” organisations.

The concept of “dummy” organisation is a powerful one. Since we can provide users access to multiple organizations, it allows the “dummy” organisations to be used for SSO integration, and users in those “dummy” organizations can then switch to Org1 to access SitecoreAI instance.

Scenario 3 – SSO Integration architecture with Centralized (Federated) Microsoft Entra ID

This use case will apply to large-to-very large sized company or government with very many independent brands or entities.

Below is a reference architecture that illustrates the setup for SSO connection with SitecoreAI.

How scenario 3 works – use of “Identity Broker” design pattern

An identity broker sits between multiple Microsoft Entra ID tenants and Sitecore, as shown above.
Sitecore integrates with a single centralized identity provider, and the broker handles federation with multiple Microsoft Entra ID tenants.

This reference architecture assumes Microsoft Entra ID federation. Common broker platforms include identity management services capable of federating multiple identity providers.

Microsoft Entra ID Configuration steps

Each Microsoft Entra ID tenant federates with the Cnetralized identity broker (which is another Microsoft Entra ID)

  • In the Centralized Microsoft Entra ID tenant, Create an App Registration
  • Configure multiple Microsoft Entra ID tenant connections
  • Configure claim normalization rules for each of the multiple Microsoft Entra ID tenants
  • Configure tenant routing logic
  • Enable ID tokens
  • Securely capture these details to be configured within Sitecore Cloud Portal:
    • Tenant ID
    • Client ID
    • Client Secret

Sitecore Cloud Portal configuration steps

Configured with one identity provider connection to the identity broker

Example parameters typically include:

  • Authority URL (tenant-specific login endpoint)
  • Client ID
  • Client Secret
  • Response type (ID token)
  • Scope (openid, profile, email)

Architect’s rubric – which SSO option should you consider?

As architects we often rely on rubrics when we need to make architectural decisions. This means using a set of guidelines or criteria that best helps you assess the business domain problem and come up with the right solution. Below is an example rubric to help with your assessments and criteria which option to leverage with Microsoft Entra ID SSO integration.

CriteriaMultiple Standalone Microsoft Entra IDs (Scenario 1 &2)Centralised Microsoft Entra ID (Scenario 3)
Security1. Full separation of Microsoft Entra ID tenant systems1. Relies on trust between Centralized Microsoft Entra ID and federated tenants
Complexity1. Simpler architecture
2. Sitecore side of integration grows with each Entity count
1.Increased Architectural complexity with introduction of Identity broker
2. Sitecore side of integration remain simple irrespective of Entity count
Management and Support1. Sitecore side of integration has operational overheads when on boarding new entities
2. Identity and claims management managed independently by entities
3. No additional Microsoft Entra ID to manage
1. Sitecore side of integration remains simpler when on boarding new entities
2. Centralized identity and claims management
3. Additional Identity broker platform to manage
Scalability1. No very easy to scale to many brands or entities 1. Easier to scale to many brands or entities

Next steps

In this blog post, we looked at prominent integration architectures for multiple Microsoft Entra ID tenants authenticating to a single Sitecore SaaS platform. We explored Multiple Microsoft Entra ID Providers approach with each organisation independently uses its own Microsoft Entra ID tenant and App registration. We also looked at an Identity Broker approach which intermediates between multiple Entra tenants and Sitecore. We finished with a sample architecture rubric that can be leveraged.

Multiple Microsoft Entra ID tenants can successfully authenticate to a single Sitecore platform while remaining independent identity providers.The appropriate architecture depends primarily on the number of brands or entities, operational overhead tolerance, and identity governance requirements.

Stay tuned for future posts, feel free to leave us comments and feedback as well.

SUGCON EUROPE 2026 – Hackerspace AI-powered image generator full code now available

Context

During the recently concluded Sitecore User Group Conference Europe on April 16-17 in London, United Kingdom, I participated in a Hackerspace workshop. This was an instructor-led Hackerspace workshop organised by Sitecore to give the SUGCON attendees a chance to learn everything Sitecore Marketplace also to create a Marketplace ready app.

We created an AI-powered image generator that uses real-time Sitecore page context to create dynamic visuals via Stable Diffusion and Hugging Face. We walked through step-by-step instructions which can find on this Hackerspace page

Vibecoding with AI

Having successfully completed all the vibecoding steps, I am sharing the full code listing of a fully functional AI-powered image generator. This is based on Next.js and Sitecore Marketplace SDK.

Below are some of the screenshots.

  • Installing Marketplace app
  • Scaffold Marketplace app in local dev
  • Vanilla Marketplace app running in Page Editor
  • Vibe Coding in VS Code
  • Final result -Image generator in Page Editor

You can now review, download or clone the full working source code from my GitHub Repository

Next steps

Stay tuned for future posts, feel free to leave us comments and feedback as well.

Everything SitecoreAI – putting into test some of the latest Agentic Studio updates released March 30, 2026

Context

The Agentic studio in SitecoreAI brings human-AI collaboration into everyday marketing work, embedding AI directly into marketing workflows. Sitecore are doing a fantastic job behind the scenes to evolve, enhance and add new capabilities to SitecoreAI’s Agentic Studio.

With the March 30 2026 release, the Agentic studio focuses on working directly with your content, expanding how agents can be built and configured, and supporting larger workflows across multiple items and steps.

This release caught my eye, and I decided to dig deep into the nature of the updates to the agents, and try them first-hand with a practical agent.

In this blog post, I will be creating an agent using SitecoreAI’s Agentic studio,complete with screenshots for all the key steps involved. In particular, put to test working SitecoreAI pages and calling external APIs.

What are they key updates to agents?

  1. You can run agents directly on your content. Agents are structured to work with context, items, and tools as part of your day-to-day workflows. For example, agents can directly work with items like SitcoreAI pages, briefs, artifacts and CSV files
    • Work with items – agents can run on items like SitecoreAI pages, briefs, artifacts, and CSV files. Agents process selected items across parameters (like languages) to generate outputs for each combination. They also enable content at scale from structured inputs, such as accounts in a CSV.
    • Use built-in tools and features – chat interfaces across Agentic studio let you set context, skills, MCPs, and tools for each run, giving you more control over how the agent behaves.
  2. You have more flexibility to create and customize your own agents. You can define and configure agents and workflows to match your needs. Below is a summary verbatim from Sitecore release notes:
    • Create standard agents – define standard agents with instructions, tools, skills, context, and output formats for a flexible, chat-style experience.
    • Add new workflow actions – create workflow agents that support invoking standard agents, calling external APIs, and invoking Agent API tools.
    • Manage skills and tools – a Settings page brings together tools, skills, schemas, templates, user management, and job tracking.
    • Use agent skills – apply built-in agent skills such as campaign planning, competitive analysis, and CSV/text processing, or create your own.
    • Reuse schemas and templates – JSON schemas and HTML templates are managed globally by admins and reused across agents.
    • Test workflows – agent workflows can be tested with step-by-step visibility, including timing and error reporting.

Let us now put this to test – create an agent that invokes external API

Below we are going to create an X/Twitter Single Tweet Generator, a workflow agent that you can leverage to post on your X/Twitter.

Step 1: In Agentic Studio, click on Create button.

Please note you need a “Builder licence” within SitecoreAI to create new Agents.

  • On the Create Agent popup, select Workflow option

Step 2: Define the overivew.

  • On the New Workflow overview page, specify the workflow agent configuration, as shown below
    • Workflow ID – Unique identifier for this workflow (cannot be changed after creation)
    • Name– Display name for this workflow
    • Description –  a short summary of what the agent does.
  • In the Getting Started section, provide the content that appears on the agent run page:
    • Title – a short heading.
    • What is it for – the agent’s purpose.
    • How it works – how inputs are used and what the agent generates.
  • In the Inputs section, click Add Input to define required user inputs:
    • Type – the input type, such as Prompt.
    • Label – the field name shown to users.
    • Description – guidance for what uses should enter.
    • Placeholder text – example content displayed in the field.
    • Required – whether the input is mandatory.
    • Min Lines – the minimum number of input lines.
    • Important: Include input of Type Context to enable you to work with SitecoreAI pages for example. As shown below
  • Click Create Workflow to save your changes.

Step 3: Configure the parameters

Parameters are needed to influence how the agent generates content. Parameters allow users to select options such as language, audience, or region, helping the agent adapt its output based on those selections.

We won’t need any parameters for this workflow agent

Step 4: Define a schema

To enforce a structured output, we will define a JSON schema. This ensures the agent produces consistent, structured output that can be validated and also re-usable.

  • On the Schemas tab, click Add.
  • In the right pane, provide the following:
    • Name – the schema name.
    • Description (optional) – what the schema is used for.
  • Define the JSON structure for the output. You can use Simple mode or Advanced mode to define the schema manually using either the Code or Visual editor.
  • Click Update Workflow to save your changes, as shown below

Step 5: Define an HTML template

Use the HTML Templates tab to define how the agent’s output is displayed. Templates use Handlebars syntax to map structured data into a layout.

  • On the HTML Templates tab, click Add.
  • In the right pane, provide the following:
    • Name – the template name.
    • Description (optional) – what the template is used for.
  • Define the HTML structure using schema fields. Use Handlebars syntax to map values from the schema into the template in the Code editor.
  • Click Update Workflow to save your changes, as shown below

Step 6a: Build and test the agent workflow

On the Workflow tab, design the sequence of actions that the agent will be executing. To build the agent workflow:

  • On the Workflow tab, the canvas includes a Manual Trigger action as the starting point. Click Add Step to add a new action.
  • In the right pane, on the Properties tab, the list of available actions appears. Select an action to add it to the canvas.
  • Drag from the dot on one action to the dot on another to connect them into a workflow step. Actions run sequentially based on how they are connected.
  • To configure the action, select an action on the canvas and adjust its settings in the Properties pane.
    • Depending on the selection, you might need to configure the action’s inputs and output variables, system prompts, message templates, linked HTML templates and schemas, and artifact storage options.
  • Repeat the process to build out your workflow as needed.
  • To delete an action or connector, select it on the canvas and press Backspace.
  • Below is the full workflow for our X Single Tweet Generator

Step 6b: Configuring an HTTP Request action

An HTTP Request action is used to send generated content to an external endpoint. In our case, to push the Tweet to Twitter/X.

The HTTP Request action retrieves the generated tweet from the previous step and sends it to the specified endpoint as a JSON payload.

It has the following configuration as shown below:

  • HTTP Method – POST (used to send the generated content to an API)
  • URL – the destination endpoint where the request will be sent.
  • Headers – define request metadata, typically including content type and authentication.
  • Body (JSON) – the payload sent to the API. This is where you pass data from previous workflow steps using variables. Ensure the variable correctly maps to the output of the generation step.

Agent JSON – The full listing of the JSON of the this agent is available in this Gist for reference. You can import it into the workflow editor to test or explore further for your use cases.

Step 7: Testing the agent

To test the agent, click on the Run button from the Workflow tab

When successful, you will get a sample run similar to the one shown below:

Running agents using items

When running agents, you can provide two types of optional inputs: items and context.

Items are the inputs the agent acts on. The agent processes each item and generates outputs for it. Use items to define what the agent should process individually. This enables the agent to perform actions on specific content from SitecoreAI.

When running the agent, you have option to Add items as shown below

Clicking on Add items will allow to select SitecoreAI CMS content items, as shown below

Next steps

In this blog post, we looked in detail the March 30 2026 release of the Agentic studio, which you can read in full in the original bulletin. As Sitecore continues to bridge the gap between “AI as a tool” and “AI as a teammate,” the March update sets a high bar for the rest of 2026. Whether you’re ready to start chaining agents in the new Spaces or you’re curious about how those custom skills will streamline your specific brand voice, the future of content is officially autonomous. Feel free to leave us a comment or share any thoughts.

Sitecore Content Hub DevOps: Fixes to Import/Export v2 released on February 6 2026 included tickets I raised

Context and background

Content Hub now has a new Import/Export engine (version 2) which should now be the default in your environments. Sitecore have updated the underlying Content Hub packaging structure to organise content by resource type rather than by export category as it was previously the case. This change makes navigation more straightforward and ensures greater consistency throughout the package. You can read more about the changes introduced in my previous blog post where I took a deep dive into the changes and impact on CI/CD pipelines.

While refactoring CI/CD pipelines to work with the new Import/Export engine in early January, I came across two main blockers which at the time meant I couldn’t progress any further.

That is when I reached out to Sitecore Support and raised two product issues, which Sitecore recognized and embarked on fixing them. These issues were MONE-55068 (support ticket CS0655802) and MONE-55007 (support ticket CS0655833).

The great news is that Sitecore are doing a fantastic job in channeling resources to get these fixes out of the door. In less than a month, we have fixes to the two issues above plus additional fixes that were shipped on February 6, 2026. This is incredible work from Sitecore!

Support ticket CS0655802 and product issue MONE-55068

Below is a screenshot from the issue I encountered when importing a brand new Taxonomy definition.

The raw error message is also shown below

Raw Output: xxxx Details Unable to find definition 'XXXX.Project.NameTaxonomy' used in relation 'XXXX_Project_NameTaxonomyToSelf'.
filename: entities.zip import_type: Package import_dry_run_feature: True Targets Target: entities Status details:
Unable to find definition 'XXXX.Project.NameTaxonomy' used in relation 'XXXX_Project_NameTaxonomyToSelf'.
Kind: entities Target: datasources Status details: Kind: datasources Target: schema Status details: Kind: schema

This was a clear defect within the Product since we know Taxonomy entities have self-relations and therefore should not be the reason a taxonomy entity will fail to import successfully. Below is my taxonomy definition

Fix provided by Sitecore

Fixed an Import/Export v2 issue that caused an error when importing packages with new definitions. (MONE-55068)

Support ticket CS0655833 and product issue MONE-55007

Below is a screenshot of the error I encountered when using CLI to import Pages. This error seems logically related to one above affecting self-relations in taxonomy definitions.

For pages, the issue was caused by one of the components related to the parent page not existing and causing the page import to fail. You could have thought the Import/Export engine should resolve dependencies, but clearly this was a Product issue.

Fix provided by Sitecore

Fixed an Import/Export v2 issue that caused an error when importing Creation components linked to Search components. (MONE-55007)

Support ticket CS0648899 and product docs issue MDOC-5887

While refactoring the CI/CD I noticed lack of sufficient documentation to detail what was changed in the new packaging architecture as part of Import/Export v2. I raised another support ticket CS0648899 with Sitecore, which was duly registered as MDOC-5887 to provided the needed clarity in the official docs.

I am happy to report that Sitecore have also addressed the documentation gap and fixed the MDOC-5887

Other resolved issues with Import/Export v2 engine

Below are the three other fixes shipped on February 6, 2026

  • Import/Export v2 now excludes M.Portal.Version entities when exporting to prevent missing-entity errors during import. (MONE-53876)
  • Import/Export v2 now correctly preserves and updates user group names with leading or trailing whitespace during import, preventing duplicate groups and import failures. (MONE-54335)
  • Import/Export v2 operations no longer swap labels between parent and child when the relation name is the same and there are no actual changes in the imported package. (MONE-54614)

Updating your CI/CD pipelines

As already covered in my previous post, it is very straight forward to update your existing CI/CD pipelines to work with the new package architecture. In simple terms, you will need to simply map your previous logic to work with the new package architecture. Ensure your Content Hub environments are re-baselined within your source control as well.

Next steps

In this blog post, I have looked at the list of issues that Sitecore have resolved for the new Content Hub Import/Export engine. I also dived into my two support tickets that I had raised that were affecting the Import/Export v2, thereby contributing to Product enchantments. I noted and appreciated how quickly Sitecore teams worked to resolve these issues within a month. I hope your Content Hub CI/CD pipelines are more robust with all these fixes going forward.

Please let me know if you have any comments above and would like me to provide further or additional details.

Foundry IQ – Agentic retrieval solution – part 2

Context

In this blog post, we are going to deep dive into the end-to-end solution, including a walk through of the source code. For background, please ensure you have read part 1 of the Foundry IQ solution.

I also presume you now have your Foundry Project as well as your local development environment setup as per the guidance provided in part 1.

Let us jump in!

Is your local Dev environment ready

In part 1, we covered Local dev environment setup. You can access the source code used in this solution from my GitHub repository to get started.

Your solution should look like the screenshot below:

Ensure you have a file named .env within the solution folder, where we are configuring the endpoints and other settings that we need for this solution.

These endpoints and resource ID are available in the Azure portal (within Foundry portal as shown below).

  • AZURE_SEARCH_ENDPOINT is on the Overview page of your search service.
  • PROJECT_ENDPOINT is on the Endpoints page of your project.
  • PROJECT_RESOURCE_ID is on the Properties page of your project.
  • AZURE_OPENAI_ENDPOINT is on the Endpoints page of your project’s parent resource

Below is a sample .env file with these endpoints and settings populated and explained

AZURE_SEARCH_ENDPOINT = https://{your-service-name}.search.windows.net
PROJECT_ENDPOINT = https://{your-resource-name}.services.ai.azure.com/api/projects/{your-project-name}
PROJECT_RESOURCE_ID = /subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.CognitiveServices/accounts/{account-name}/projects/{project-name}
AZURE_OPENAI_ENDPOINT = https://{your-resource-name}.openai.azure.com
AZURE_OPENAI_EMBEDDING_DEPLOYMENT = text-embedding-3-large
AGENT_MODEL = gpt-4.1-mini

Activate the environment

Use the steps below to activate your Python virtual environment. These were already covered in part 1, however I am sharing them again here for your convenience.

  • For macOS / Linux (in Terminal) source ai-env/bin/activate
  • For Windows (in Command Prompt or PowerShell): .\ai-env\Scripts\activate
  • You’ll know it worked because your terminal prompt will change to show the name of your environment, like this: (ai-env) C:\Users\YourName\Desktop\MyProject>.

Install required packages

With the environment active, install required packages 

#Bash
pip3 install azure-ai-projects==2.0.0b1 azure-mgmt-cognitiveservices azure-identity ipykernel dotenv azure-search-documents==11.7.0b2 requests openai

Authenticate with Azure CLI

For keyless authentication with Microsoft Entra ID, sign in to your Azure account.

From your Terminal, run az login as shown below. Follow the prompts to authenticate

If you have multiple subscriptions, select the one that contains your Azure AI Search service and Microsoft Foundry project.

Start Jupyter Notebook

To start the application, type:

#Bash
jupyter-lab

If successful, you will have JupyterLab launcher accessible on your browser. For example, on http://localhost:8888/lab

Start building and running code

At this point, we are setup to run code snippets in our ai-agentic-retrieval.ipynb Notebook, as shown below

How to run Jupyter Notebook code listings

To run the code, simply select and highlight the cell or code block within the Jupyter Notebook. Once highlighted, press the ‘Run’ or ‘Play’ button on the top navigation bar.  Alternatively, you can press Shift + Enter keyboard short cuts as well.

Any expected response or output will then appear below the cell or code block, as shown below.

Step 1 – run code to Load environment variables

The following code loads the environment variables from your .env file and establishes connections to Azure AI Search and Microsoft Foundry.

Step 2 – run code to Create a search index

In Azure AI Search, an index is a structured collection of data. The following code creates an index to store searchable content for your knowledge base.

The index schema contains

  • field for document identification
  • field for page content
  • embeddings
  • configurations for semantic ranking and vector search

Step 3 – run code to Upload documents to the index

The following code populates the index with JSON documents from NASA’s Earth at Night e-book. As required by Azure AI Search, each document conforms to the fields and data types defined in the index schema.

Step 4 – run code to Create a knowledge source

A knowledge source is a reusable reference to source data. The following code creates a knowledge source that targets the index you previously created.

source_data_fields specifies which index fields are included in citation references. This example includes only human-readable fields to avoid lengthy, uninterpretable embeddings in responses.

Step 5 – run code to Create a knowledge base

The following code creates a knowledge base that orchestrates agentic retrieval from your knowledge source. The code also stores the MCP endpoint of the knowledge base, which your agent will use to access the knowledge base.

For integration with Foundry Agent Service, the knowledge base is configured with the following parameters:

  • output_mode is set to extractive data, which provides the agent with verbatim, unprocessed content for grounding and reasoning. The alternative mode, answer synthesis, returns pregenerated answers that limit the agent’s ability to reason over source content.
  • retrieval_reasoning_effort is set to minimal effort, which bypasses LLM-based query planning to reduce costs and latency. For other reasoning efforts, the knowledge base uses an LLM to reformulate user queries before retrieval.

Step 6 – run code to Set up a project client

Use AIProjectClient to create a client connection to your Microsoft Foundry project. Your project might not contain any agents yet, but if you’ve already completed this tutorial, the agent is listed here.

Step 7 – run code to Create a project connection

The following code creates a project connection in Microsoft Foundry that points to the MCP endpoint of your knowledge base. This connection uses your project managed identity to authenticate to Azure AI Search.

Step 8 – run code to Create an agent with the MCP tool

The following code creates an agent configured with the MCP tool. When the agent receives a user query, it can call your knowledge base through the MCP tool to retrieve relevant content for response grounding.

The agent definition includes instructions that specify its behavior and the project connection you previously created. Based on our experiments, these instructions are effective in maximizing the accuracy of knowledge base invocations and ensuring proper citation formatting.

Review of Foundry portal changes

At this point, you can explore Foundry portal to review our agent, the knowledge base among other resources we created for this solution,

Screenshot 1 – Agents page

Screenshot 2 – knowledge base page

Screenshot 3 – our knowledge base details page

Screenshot 4 – our knowledge source (showing Azure AI Search index)

Step 9 – run code to Chat with the agent

Your client app uses the Conversations and Responses APIs from Azure OpenAI to interact with the agent.

The following code creates a conversation and passes user messages to the agent, resembling a typical chat experience. The agent determines when to call your knowledge base through the MCP tool and returns a natural-language answer with references. Setting tool_choice="required" ensures the agent always uses the knowledge base tool when processing queries.

The response should be similar to the following:

Step 10 – run code to Clean up resources

When you work in your own subscription, it’s a good idea to finish a project by determining whether you still need the resources you created. Resources that are left running can cost you money.

In the Azure portal, you can manage your Azure AI Search and Microsoft Foundry resources by selecting All resources or Resource groups from the left pane.

You can also run the following code to delete individual objects:

Full source code and references

You can access the full source code used in this solution from my GitHub repository. It is worth mentioning that I have adopted my solution from a similar tutorial from Microsoft Learn page.

Next steps

In this blog post, we deep dived into part 2 of our Foundry IQ – Agentic retrieval solution. We leveraged Jupyter Notebook to run through the various steps for our source code for implementing the end-to-end solution. The complete code listing in GitHub repository was also shared for your reference.

Stay tuned for future posts, feel free to leave us comments and feedback as well.