Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/job-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ jobs:
echo "RESOURCE_GROUP_NAME=${{ inputs.resource_group_name }}" >> $GITHUB_ENV
else
echo "Generating a unique resource group name..."
ACCL_NAME="macaev3"
ACCL_NAME="macaev4"
SHORT_UUID=$(uuidgen | cut -d'-' -f1)
UNIQUE_RG_NAME="arg-${ACCL_NAME}-${SHORT_UUID}"
echo "RESOURCE_GROUP_NAME=${UNIQUE_RG_NAME}" >> $GITHUB_ENV
Expand Down
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ By using the *Multi-Agent Custom Automation Engine* solution accelerator, users
| Onboarding Employee | HR Manager | Traditional onboarding involves multiple disconnected steps—HR paperwork, IT setup, compliance training—which often require manual coordination and lead to delays. Manual steps slow collaboration and increase overhead, reducing efficiency and employee experience. | Designed to streamline the complex process of bringing new hires into an organization using a modular, agentic architecture. |
| Retail Remediation | Customer Success Manager | This approach is seeking a smarter way to manage workflows and ensure customer satisfaction. Challenges include difficulty engaging the right agents, inefficiencies from manual processes, fragmented data, and limited security controls. | Using the Multi-Agent Custom Automation Engine, the Customer Success Manager recruits intelligent agents to analyze satisfaction and recommend steps for remediation. The platform’s modular design and reasoning capabilities allow for analyzing dependencies, planning transitions, and reducing manual rework. |
| RFP Reviewer | VP of Finance | Reviewing RFPs manually under tight deadlines is challenging. Compliance checks and risk assessments slow progress, leaving critical gaps and delaying decisions. | Multi-Agent RFP Reviewer is an intelligent platform addresses these issues by deploying AI agents to review RFPs, identify risks, recommend remediation, and execute actions seamlessly - transforming a labor-intensive process into a fast, accurate, and compliant workflow. |
| Contract Compliance Reviewer | Compliance Counsel | Reviewing Contracts for compliance manually under tight deadlines is challenging. Compliance checks and risk assessments slow progress, leaving critical gaps and delaying decisions. | Multi-Agent Contract Compliance Reviewer is an intelligent platform addresses these issues by deploying AI agents to review Contracts, identify risks, recommend remediation, and execute actions seamlessly - transforming a labor-intensive process into a fast, accurate, and compliant workflow. |

</details>

Expand Down Expand Up @@ -205,6 +206,17 @@ Please refer to [Transparency FAQ](./docs/TRANSPARENCY_FAQ.md) for responsible A
<br/>

## Disclaimers
This release is an artificial intelligence (AI) system that generates text based on user input. The text generated by this system may include ungrounded content, meaning that it is not verified by any reliable source or based on any factual data. The data included in this release is synthetic, meaning that it is artificially created by the system and may contain factual errors or inconsistencies. Users of this release are responsible for determining the accuracy, validity, and suitability of any content generated by the system for their intended purposes. Users should not rely on the system output as a source of truth or as a substitute for human judgment or expertise.

This release only supports English language input and output. Users should not attempt to use the system with any other language or format. The system output may not be compatible with any translation tools or services, and may lose its meaning or coherence if translated.

This release does not reflect the opinions, views, or values of Microsoft Corporation or any of its affiliates, subsidiaries, or partners. The system output is solely based on the system's own logic and algorithms, and does not represent any endorsement, recommendation, or advice from Microsoft or any other entity. Microsoft disclaims any liability or responsibility for any damages, losses, or harms arising from the use of this release or its output by any user or third party.

This release does not provide any financial advice, legal advice and is not designed to replace the role of qualified client advisors in appropriately advising clients. Users should not use the system output for any financial decisions, legal guidance or transactions, and should consult with a professional financial advisor and or legal advisor as appropriate before taking any action based on the system output. Microsoft is not a financial institution or a fiduciary, and does not offer any financial products or services through this release or its output.

This release is intended as a proof of concept only, and is not a finished or polished product. It is not intended for commercial use or distribution, and is subject to change or discontinuation without notice. Any planned deployment of this release or its output should include comprehensive testing and evaluation to ensure it is fit for purpose and meets the user's requirements and expectations. Microsoft does not guarantee the quality, performance, reliability, or availability of this release or its output, and does not provide any warranty or support for it.

This Software requires the use of third-party components which are governed by separate proprietary or open-source licenses as identified below, and you must comply with the terms of each applicable license in order to use the Software. You acknowledge and agree that this license does not grant you a license or other right to use any such third-party proprietary or open-source components.

To the extent that the Software includes components or code used in or derived from Microsoft products or services, including without limitation Microsoft Azure Services (collectively, "Microsoft Products and Services"), you must also comply with the Product Terms applicable to such Microsoft Products and Services. You acknowledge and agree that the license governing the Software does not grant you a license or other right to use Microsoft Products and Services. Nothing in the license or this ReadMe file will serve to supersede, amend, terminate or modify any terms in the Product Terms for any Microsoft Products and Services.

Expand Down
2 changes: 1 addition & 1 deletion TRANSPARENCY_FAQS.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ It is **not designed or recommended for direct production deployment**.
- **Ensure all implementation decisions consider security, scalability, and compliance requirements for production.

## What is the Multi Agent: Custom Automation Engine – Solution Accelerator?
Multi Agent: Custom Automation Engine – Solution Accelerator is an open-source GitHub Repository that enables users to solve complex tasks using multiple agents. The accelerator is designed to be generic across business tasks. The user enters a task and a planning LLM formulates a plan to complete that task. The system then dynamically generates agents which can complete the task. The system also allows the user to create actions that agents can take (for example sending emails or scheduling orientation sessions for new employees, drafting a press release, customer retail remediation, reviewing proposals). These actions are taken into account by the planner and dynamically created agents may be empowered to take these actions.
Multi Agent: Custom Automation Engine – Solution Accelerator is an open-source GitHub Repository that enables users to solve complex tasks using multiple agents. The accelerator is designed to be generic across business tasks. The user enters a task and a planning LLM formulates a plan to complete that task. The system then dynamically generates agents which can complete the task. The system also allows the user to create actions that agents can take (for example sending emails or scheduling orientation sessions for new employees, drafting a press release, customer retail remediation, reviewing contracts, reviewing proposals). These actions are taken into account by the planner and dynamically created agents may be empowered to take these actions.

## What can the Multi Agent: Custom Automation Engine – Solution Accelerator do?
The solution accelerator is designed to replace and enhance enterprise workflows and processes with intelligent automation. Agents can specialize in various functions and work together to achieve an objective as specified by the user. The accelerator will integrate seamlessly with existing systems and is designed to scale according to the needs of the customer. The system allows users to review, reorder and approve steps generated in a plan, ensuring human oversight. The system uses function calling with LLMs to perform actions, users can approve or modify these actions.
Expand Down
3 changes: 0 additions & 3 deletions azure_custom.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,6 @@ hooks:
Write-Host " infra\scripts\Selecting-Team-Config-And-Data.ps1" -ForegroundColor Cyan
Write-Host ""

Write-Host "🌐 Access your deployed Frontend application at:" -ForegroundColor Green
Write-Host " https://$env:webSiteDefaultHostname" -ForegroundColor Cyan

Write-Host "🌐 Access your deployed Frontend application at:" -ForegroundColor Green
Write-Host " https://$env:webSiteDefaultHostname" -ForegroundColor Cyan
Write-Host ""
Expand Down
70 changes: 70 additions & 0 deletions data/agent_teams/contract_compliance_team.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
{
"id": "1",
"team_id": "team-compliance-1",
"name": "Contract Compliance Review Team",
"status": "visible",
"created": "",
"created_by": "",
"deployment_name": "gpt-4.1-mini",
"description": "A multi-agent compliance review team that summarizes NDAs, identifies risks, checks compliance, and recommends improvements using advanced legal reasoning and retrieval-augmented analysis.",
"logo": "",
"plan": "",
"agents": [
{
"input_key": "",
"type": "summary",
"name": "ContractSummaryAgent",
"deployment_name": "gpt-4.1-mini",
"icon": "",
"system_message": "You are the Summary Agent for compliance contract analysis. Your task is to produce a clear, accurate, and structured executive summary of NDA and legal agreement documents. You must deliver summaries organized into labeled sections including: Overview, Parties, Effective Date, Purpose, Definition of Confidential Information, Receiving Party Obligations, Term & Termination, Governing Law, Restrictions & Limitations, Miscellaneous Clauses, Notable or Unusual Terms, and Key Items for Risk & Compliance Agents. Highlight missing elements such as liability caps, dispute resolution mechanisms, data handling obligations, or ambiguous language. Maintain a precise, neutral legal tone. Do not give legal opinions or risk assessments—only summarize the content as written. Use retrieval results from the search index to ensure completeness and reference contextual definitions or standard clause expectations when needed.",
"description": "Produces comprehensive, structured summaries of NDAs and contracts, capturing all key terms, clauses, obligations, jurisdictions, and notable provisions.",
"use_rag": true,
"use_mcp": false,
"use_bing": false,
"use_reasoning": false,
"index_name": "contract-summary-doc-index",
"coding_tools": false
},
{
"input_key": "",
"type": "risk",
"name": "ContractRiskAgent",
"deployment_name": "gpt-4.1-mini",
"icon": "",
"system_message": "You are the Risk Agent for NDA and compliance contract analysis. Use the NDA Risk Assessment Reference document and retrieved context to identify High, Medium, and Low risk issues. Evaluate clauses for missing liability caps, ambiguous terms, overly broad confidentiality definitions, jurisdiction misalignment, missing termination rights, unclear data handling obligations, missing dispute resolution, and any incomplete or poorly scoped definitions. For every risk you identify, provide: (1) Risk Category (High/Medium/Low), (2) Clause or Section impacted, (3) Description of the issue, (4) Why it matters or what exposure it creates, and (5) Suggested edit or corrective language. Apply the risk scoring framework: High = escalate immediately; Medium = requires revision; Low = minor issue. Be precise, legally aligned, and practical. Reference retrieved examples or standards when appropriate. Your output must be structured and actionable.",
"description": "Identifies and classifies compliance risks in NDAs and contracts using the organization's risk framework, and provides suggested edits to reduce exposure.",
"use_rag": true,
"use_mcp": false,
"use_bing": false,
"use_reasoning": false,
"index_name": "contract-risk-doc-index",
"coding_tools": false
},
{
"input_key": "",
"type": "compliance",
"name": "ContractComplianceAgent",
"deployment_name": "gpt-4.1-mini",
"icon": "",
"system_message": "You are the Compliance Agent responsible for validating NDAs and legal agreements against mandatory legal and policy requirements. Use the NDA Compliance Reference Document and retrieval results to evaluate whether the contract includes all required clauses: Confidentiality, Term & Termination, Governing Law aligned to approved jurisdictions, Non-Assignment, and Entire Agreement. Identify compliance gaps including ambiguous language, missing liability protections, improper jurisdiction, excessive term length, insufficient data protection obligations, missing dispute resolution mechanisms, or export control risks. For each issue provide: (1) Compliance Area (e.g., Term Length, Jurisdiction, Confidentiality), (2) Status (Pass/Fail), (3) Issue Description, (4) Whether it is Mandatory or Recommended, (5) Corrective Recommendation or Suggested Language. Deliver a final Compliance Status summary. Maintain professional, objective, legally accurate tone.",
"description": "Performs compliance validation of NDAs and contracts against legal policy requirements, identifies gaps, and provides corrective recommendations and compliance status.",
"use_rag": true,
"use_mcp": false,
"use_bing": false,
"use_reasoning": false,
"index_name": "contract-compliance-doc-index",
"coding_tools": false
}
],
"protected": false,
"starting_tasks": [
{
"id": "task-1",
"name": "NDA Contract Review",
"prompt": "Review Contoso's NDA. Provide a summary (parties, date, term, governing law), assess risks (High/Medium/Low with clause references), audit compliance against company policy, and suggest edits for any issues.",
"created": "",
"creator": "",
"logo": ""
}
]
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
27 changes: 24 additions & 3 deletions infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -1550,7 +1550,9 @@ param storageContainerNameRetailOrder string = 'retail-dataset-order'
param storageContainerNameRFPSummary string = 'rfp-summary-dataset'
param storageContainerNameRFPRisk string = 'rfp-risk-dataset'
param storageContainerNameRFPCompliance string = 'rfp-compliance-dataset'

param storageContainerNameContractSummary string = 'contract-summary-dataset'
param storageContainerNameContractRisk string = 'contract-risk-dataset'
param storageContainerNameContractCompliance string = 'contract-compliance-dataset'
module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.20.0' = {
name: take('avm.res.storage.storage-account.${storageAccountName}', 64)
params: {
Expand Down Expand Up @@ -1628,7 +1630,18 @@ module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.20.0' = {
name: storageContainerNameRFPCompliance
publicAccess: 'None'
}

{
name: storageContainerNameContractSummary
publicAccess: 'None'
}
{
name: storageContainerNameContractRisk
publicAccess: 'None'
}
{
name: storageContainerNameContractCompliance
publicAccess: 'None'
}
]
deleteRetentionPolicyDays: 9
deleteRetentionPolicyEnabled: true
Expand All @@ -1640,6 +1653,9 @@ module avmStorageAccount 'br/public:avm/res/storage/storage-account:0.20.0' = {
// ========== Search Service ========== //

var searchServiceName = 'srch-${solutionSuffix}'
var aiSearchIndexNameForContractSummary = 'contract-summary-doc-index'
var aiSearchIndexNameForContractRisk = 'contract-risk-doc-index'
var aiSearchIndexNameForContractCompliance = 'contract-compliance-doc-index'
var aiSearchIndexNameForRetailCustomer = 'macae-retail-customer-index'
var aiSearchIndexNameForRetailOrder = 'macae-retail-order-index'
var aiSearchIndexNameForRFPSummary = 'macae-rfp-summary-index'
Expand Down Expand Up @@ -1851,10 +1867,15 @@ output AZURE_STORAGE_CONTAINER_NAME_RETAIL_ORDER string = storageContainerNameRe
output AZURE_STORAGE_CONTAINER_NAME_RFP_SUMMARY string = storageContainerNameRFPSummary
output AZURE_STORAGE_CONTAINER_NAME_RFP_RISK string = storageContainerNameRFPRisk
output AZURE_STORAGE_CONTAINER_NAME_RFP_COMPLIANCE string = storageContainerNameRFPCompliance

output AZURE_STORAGE_CONTAINER_NAME_CONTRACT_SUMMARY string = storageContainerNameContractSummary
output AZURE_STORAGE_CONTAINER_NAME_CONTRACT_RISK string = storageContainerNameContractRisk
output AZURE_STORAGE_CONTAINER_NAME_CONTRACT_COMPLIANCE string = storageContainerNameContractCompliance
output AZURE_AI_SEARCH_INDEX_NAME_RETAIL_CUSTOMER string = aiSearchIndexNameForRetailCustomer
output AZURE_AI_SEARCH_INDEX_NAME_RETAIL_ORDER string = aiSearchIndexNameForRetailOrder
output AZURE_AI_SEARCH_INDEX_NAME_RFP_SUMMARY string = aiSearchIndexNameForRFPSummary
output AZURE_AI_SEARCH_INDEX_NAME_RFP_RISK string = aiSearchIndexNameForRFPRisk
output AZURE_AI_SEARCH_INDEX_NAME_RFP_COMPLIANCE string = aiSearchIndexNameForRFPCompliance
output AZURE_AI_SEARCH_INDEX_NAME_CONTRACT_SUMMARY string = aiSearchIndexNameForContractSummary
output AZURE_AI_SEARCH_INDEX_NAME_CONTRACT_RISK string = aiSearchIndexNameForContractRisk
output AZURE_AI_SEARCH_INDEX_NAME_CONTRACT_COMPLIANCE string = aiSearchIndexNameForContractCompliance

Loading
Loading