On Wednesday, November 27th, we had the privilege of hosting an enlightening seminar on Microsoft 365 Copilot, Copilot Studio, and Dynamics 365 Business Central at Microsoft office. The event was a resounding success, attracting a diverse group of participants eager to learn about the latest advancements in AI and business solutions. 

Event Highlights 

The seminar commenced with a warm welcome from our Founder and CEO, Mr. Roald Andersen. Roald introduced AccessOrange and shared inspiring success stories demonstrating how our innovative cloud and AI solutions have empowered numerous businesses to enhance efficiency, decision-making, and competitiveness. 

Microsoft Copilot and Copilot Studio 

Our team provided a live demonstration of Microsoft Copilot and introduced Copilot Studio. Participants were captivated by the capabilities of these tools, particularly how Microsoft Copilot integrates seamlessly within Microsoft 365 applications such as Word, Excel, and Teams to automate tasks and enhance productivity. Copilot Studio, a low-code/no-code platform, empowers developers and business users to create custom AI-powered workflows tailored to specific business needs. 

Updates on Dynamics 365 Business Central 

The Microsoft team presented insights into Dynamics 365 Business Central’s new AI features, highlighting their benefits for businesses. The discussion covered how AI can streamline processes, improve financial visibility, gaining insights with powerful reporting and analytics tools, and enhance supply chain operations. 

The seminar concluded with a vibrant networking session, allowing participants to exchange ideas, share experiences, and forge new connections. 

Introducing Our Dynamics 365 Business Central Package 

We are excited to introduce our exclusive 10-day Quick Start Implementation Package for Microsoft Dynamics 365 Business Central. This package is meticulously designed to help small to mid-sized businesses get up and running with Business Central effortlessly. Here are the key features of our package: 

  • Rapid Setup: A 10-day structured implementation plan ensures a quick and efficient setup. 
  • Hands-On Training: Comprehensive training sessions to ensure your team is ready and confident in using Business Central. 
  • Essential Configuration: Covers core financial, sales, and purchasing processes. 
  • Optimised for Business Growth: Business Central provides a scalable platform to support your growth. 
  • Expert Guidance: Our experienced team offers continuous support from planning through go-live. 

Scope of Quick Start Implementation Package 

Our Quick Start Implementation Package includes setting up the General Ledger for one production environment for a single legal entity, data migration, user training, and sales and purchasing go-live support. 

Additional Options Available 

For businesses with more complex needs, we offer extended options that include Inventory, Project Management, Fixed Assets, Planning, Assembly Management, Warehousing, Manufacturing, and Service Management. 

Contact Us 

Ready to get started with Dynamics 365 Business Central? Contact us at [email protected] or +852 3500 4288 for more information. 

Thank you to everyone who attended our seminar and contributed to its success. We look forward to continuing to support your business with our cutting-edge solutions and services. 

In today’s fast-paced digital world, staying ahead of the curve is essential. That’s why we’re excited to introduce the Copilot Academy, a comprehensive learning platform designed to help you master the use of Microsoft Copilot across various applications.

What is Copilot Academy?

The Copilot Academy is an innovative educational platform integrated within Viva Learning. It offers structured educational content to help users learn about, discover, and effectively use Microsoft Copilot. Whether you’re looking to enhance your productivity, streamline your workflows, or simply get the most out of your Microsoft 365 applications, Copilot Academy has got you covered.

How to Access Copilot Academy

To access the academy in Viva Learning, Users must have a Microsoft M365 Copilot license, in addition to a Viva Learning seeded or premium license.

There are two ways to access Copilot Academy – directly through the Viva Learning webapp, or from the Viva Learning Teams app by using the Academies dropdown navigation menu. Copilot Academy is available in 8 languages: English, French, German, Italian, Spanish, Portuguese, Japanese and Chinese.

Why Join Copilot Academy?

Joining Copilot Academy offers a unique opportunity to elevate your digital skills and stay competitive in today’s technology-driven workforce. By enrolling, you gain access to a wealth of resources tailored to enhance your understanding and usage of Microsoft Copilot, allowing you to maximize the potential of your Microsoft 365 suite. With expertly crafted training materials, practical exercises, and real-time support, the academy equips you with the knowledge and confidence to utilize Copilot to its fullest, ultimately transforming the way you work and collaborate.

  • Comprehensive Training: The academy provides in-depth training on how to use Copilot effectively across various Microsoft 365 applications. You’ll learn how to leverage Copilot to improve your productivity and efficiency.
  • Interactive Learning: Featuring interactive modules, hands-on exercises, and real-world scenarios, the academy ensures you gain practical experience.
  • Expert Guidance: Learn from industry experts and Microsoft-certified trainers who will share their insights and best practices.
  • Community Support: Join a community of like-minded professionals and share your experiences, tips, and success stories.

Join The Copilot Academy Today!

Don’t miss out on the opportunity to elevate your skills and transform the way you work. Join the Copilot Academy today and start your journey towards becoming a Microsoft Copilot expert.

Microsoft 365 Copilot — Apply Now —

Apply today to make your work easier and smarter.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.

Unlocking Productivity and Value with Generative AI

Microsoft Copilot for Microsoft 365 promises to transform productivity by embedding generative AI into the daily tools we use for work. This innovation presents an exciting opportunity for businesses worldwide to streamline operations and enhance efficiency. But what is the actual return on investment (ROI) of adopting Copilot for Microsoft 365 in a global context?

Evaluating the Value of Copilot for Microsoft 365

For businesses considering the adoption of Copilot, the upfront cost is USD 360 per employee annually, or USD 30 per month when billed yearly. This may appear to be a significant investment, especially for larger organizations. However, it is essential to understand the potential savings and productivity boosts that can justify this expense.

The flexibility in purchasing licenses—without a minimum requirement—allows businesses to start with focused rollouts. This approach enables companies to measure the impact and ROI before scaling up the deployment.

Calculating the ROI of Copilot for Microsoft 365

The break-even point for investing in Copilot can be achieved with just 54 minutes of time savings per month for an employee earning an annual total cost of USD 70,000 (approximately USD 5,833 per month). This total cost includes not just the base salary but also overheads, payroll taxes, and other ancillary costs.

Here’s how to calculate the ROI:

  1. If an employee costs the company USD 70,000 per year (about USD 5,833 per month), the company needs to see if the employee can save enough time to cover the monthly cost of Copilot, which is USD 30.
  2. If this employee saves just 1 hour per month using Copilot, the company gets a 12% return on investment (ROI).
  3. If the employee saves 1.5 hours per month, they get a 68% ROI.
  4. Saving 2 hours per month translates to a 124% ROI.
  5. And saving 2.5 hours per month results in a 180% ROI.

So, essentially, even small-time savings can significantly justify the cost of Copilot, especially for employees with higher costs to the company.

The Higher the Annual Cost of an Employee – The Higher the ROI

Copilot’s value becomes even more apparent for higher-paid employees who save more time on routine tasks. For example, an employee with an annual total cost of USD 150,000 (hourly cost of approximately USD 75):

– 140% ROI if they save 1 hour a month.

– 261% ROI if they save 1.5 hours a month.

– 381% ROI if they save 2 hours a month.

– 501% ROI if they save 2.5 hours a month.

Are the Time Savings Realistic?

Research from the Boston Consulting Group (BCG) and Harvard, along with early adoption reports from Microsoft, supports the significant time savings Copilot can bring. Key findings include:

  • Consultants at BCG completed 12.2% more tasks on average and 25% quicker using AI.
  • The quality of work was 40% higher compared to those who did not use AI.
  • Early adopters within Microsoft reported:
  • 87% increased productivity.
  • 79% focused more on important tasks.
  • 81% reduced time spent searching for information.
  • 1 in 3 saved more than 30 minutes per day.

Additional research highlights Copilot’s impact across various business environments:

  • Email Management:

– Professionals using Copilot to draft and respond to emails save 3-8 minutes per email, significantly reducing the time spent on daily communication.

  • Meeting Summarization:

– Copilot’s ability to summarize meetings allows employees to quickly review key points and action items, improving follow-up efficiency and reducing the need for extensive note-taking.

  • Report Generation:

– Financial analysts and project managers benefit from Copilot’s report generation capabilities, experiencing a 35% increase in the speed of financial forecasting and project updates, respectively.

  • Customer Service:

– Automated customer service responses powered by Copilot lead to a 50% reduction in call resolution times, enhancing customer satisfaction and freeing up representatives for more complex issues.

  • Data Analysis:

– Business analysts using Copilot for data analysis report a significant reduction in time spent on data manipulation and interpretation, allowing them to focus on strategic decision-making.

  • Administrative Tasks:

– Copilot helps reduce administrative workload, such as scheduling and document preparation, allowing employees to dedicate more time to core business activities.

These examples underscore Copilot’s versatility and effectiveness in enhancing productivity, accuracy, and efficiency across various business functions.

Conclusion

The data from early adopters of Copilot for Microsoft 365 and the broader use of Generative AI highlights a clear ROI for organizations. The greatest returns will come from leveraging the time savings to innovate and add value for customers. In these early stages, the personal productivity gains alone make Copilot a worthwhile investment, promising to revolutionize the way businesses operate.

In summary, here are the key advantages of using Copilot:

  • Time Savings: Copilot significantly reduces the time required to perform routine tasks such as summarizing meetings, creating reports, drafting emails, and more. This allows employees to focus on more strategic activities that add value.
  • Increased Efficiency: By automating repetitive tasks, Copilot helps streamline workflows and processes, leading to higher efficiency and better utilization of resources.
  • Enhanced Productivity: With routine tasks taken care of, employees can dedicate more time to creative and high-impact work, boosting overall productivity and job satisfaction.
  • Improved Accuracy: Copilot minimizes human errors by providing consistent and accurate outputs, ensuring higher quality work and reducing the need for revisions.
  • Seamless Integration: Copilot integrates seamlessly with existing Microsoft 365 tools, making it easy for employees to adopt and start benefiting from its capabilities immediately.

By leveraging these advantages, organizations can unlock new levels of performance and innovation, driving growth and success in today’s competitive landscape.

 

In Dynamics 365 Sales, duplicate detection exists but only works at an individual level, for example, when a lead is converted or a new account is created.

Unfortunately, there’s no out-of-the-box solution to automatically detect duplicates in bulk across the system. This limitation can lead to data inaccuracies, especially as your organization grows.

To overcome this challenge, I created a Power Automate flow that finds and merges duplicate accounts automatically.

In this article, I’ll walk you through how to create this flow, and you can adapt it for your own needs.

Flow overview:

(Apologies, I have not renamed some of the foreach and conditions, but I think you will understand 🙂 )

Step-by-Step Guide to Creating the Flow

Step 1: Set up the Trigger

The first step is to set up the trigger for the flow. We want this flow to run on a regular schedule to detect duplicates. Use the Recurrence trigger to specify how frequently the flow should run (e.g., daily or weekly).

Step 2: Query Accounts from Dataverse

Next, add an action to list all accounts from the Dataverse. This will retrieve all active accounts so that we can compare them and detect duplicates.

  • Action: Use List Rows from the Dataverse connector.
  • Filter: You can filter for only active accounts or specific criteria that make sense for your business.
  • Also initialize the variable Duplicates here as an array

Step 3: Identify Duplicate Accounts

Once the accounts are retrieved, you need to compare the names or other unique fields to detect duplicates.

  • Use a loop to go through each account and check for duplicate names.
  • Clear the array variable Duplicates
  • Implement a condition in the flow to identify if two or more accounts share the same name.

The Replace() is used to fix the acounts that have the character inside their name, to not break the odata filter.

Condition:

and(greater(length(outputs(‘List_rows_2’)?[‘body/value’]), 1))
If any duplicate is found (YES under condition), add the Account ID to the Duplicates array

Step 4: Merge the Duplicates

Once duplicates are identified, use Dataverse’s Unbound Action to merge the duplicate accounts. The unbound action allows you to merge records within Dataverse without having to handle the data manually.

  • Action: Use the Perform Unbound Action step from the Dataverse connector.
  • Target: The original account and the duplicate account.

Condition 3: (meaning one or more duplicates have been found)

length(variables(‘Duplicates’))
If YES, then take the first and the last account:
(Because you can only merge 2 accounts at the same time)
Get the first Account:
Get the last duplicated account:
Send me an email notification, and then do an Unbound Action (Merge):
That’s it, our entire flow is ready:
AccessOrange is a leading Microsoft Partner that specializes in Microsoft 365, Dynamics 365 and Azure to help our customers work smarter.
If you need help with building this flow in your own environment, leave your contact information below, and we will contact you as soon as possible.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.

In this blog post, I’ll show you how to create a solution in Dynamics 365 that automatically ensures the Opportunity currency matches the Account currency.

I wrote this solution as I got so frustrated that when you create an opportunity in Dynamics 365 Sales, that the currency is not automatically set to the correct currency. Instead it goes to the default currency as set in the system, which will create all sort of problems when you are working in a multi region sales team. (selection of wrong currencies, quote then cannot use the correct currency, etc)

This solution will use JavaScript to retrieve and compare these values, and if they don’t match, update the Opportunity currency to reflect the Account’s currency. Additionally, we’ll publish this solution and configure it to run seamlessly within Dynamics 365.

Prerequisites

Before you begin, ensure you have the following:

  • Administrator access to Dynamics 365.
  • Basic understanding of JavaScript and Dynamics 365 customization.

Let’s break down the process step-by-step.

Step 1: Create a New Solution in Dynamics 365

The first step is to create a solution to contain your custom JavaScript logic and publish it into Dynamics.

  1. Navigate to Power Platform Admin Center:
    • Go to your Dynamics 365 environment.
    • Click on the gear icon and select Advanced Settings.
    • In the settings area, click on Solutions.
  2. Create a New Solution:
    • Click New to create a new solution.
    • Enter details such as:
      • Display Name: Opportunity-Account Currency Sync.
      • Publisher: Select or create a new one.
      • Version: Start with 1.0.0.0.
  3. Add the Opportunity Entity to the Solution:
    • In the solution editor, click on Add ExistingEntityOpportunity.
    • This allows us to add custom logic to the Opportunity entity form.

Step 2: Write the JavaScript for Currency Sync

Next, we’ll write the JavaScript code to compare the Opportunity and Account currency and update the Opportunity currency if they don’t match.

  1. Create a Web Resource for JavaScript:
    • In the solution, navigate to Web Resources and click New.
    • Select JavaScript (JScript) as the type, and name it currencySync.js.
    • Paste the following JavaScript code into the web resource:
    • function getDetailsFromOpportunity(executionContext) {
      var formContext = executionContext.getFormContext();
      
      // Check if the Opportunity has been saved (i.e., it has an ID)
      var opportunityId = formContext.data.entity.getId();
      if (!opportunityId) {
      console.log("This is a new opportunity. The record has not been saved yet.");
      return; // Exit the function if it's a new, unsaved Opportunity
      }
      
      // Proceed with the currency check if the Opportunity is not new
      opportunityId = opportunityId.replace("{", "").replace("}", "");
      
      // Get the Account (Customer Field) from the Opportunity
      var accountLookup = formContext.getAttribute("parentaccountid"); 
      if (accountLookup != null && accountLookup.getValue() != null) {
      var account = accountLookup.getValue()[0]; 
      var accountId = account.id;
      
      // Retrieve the statuscode and compare currencies only if the opportunity is open
      Xrm.WebApi.retrieveRecord("opportunity", opportunityId, "?$select=statuscode").then(
      function success(result) {
      var opportunityStatus = result.statuscode; 
      if (opportunityStatus === 1) { 
      console.log("Opportunity is open. Proceeding with currency check.");
      
      // Retrieve the currency from the related Account
      Xrm.WebApi.retrieveRecord("account", accountId, "?$select=transactioncurrencyid&$expand=transactioncurrencyid($select=currencyname)").then(
      function success(result) {
      if (result.transactioncurrencyid != null) {
      var accountCurrencyId = result.transactioncurrencyid.transactioncurrencyid.toLowerCase(); 
      
      // Get the Currency field from the Opportunity
      var opportunityCurrencyLookup = formContext.getAttribute("transactioncurrencyid"); 
      if (opportunityCurrencyLookup != null && opportunityCurrencyLookup.getValue() != null) {
      var opportunityCurrency = opportunityCurrencyLookup.getValue()[0]; 
      var opportunityCurrencyId = opportunityCurrency.id.replace("{", "").replace("}", "").toLowerCase(); 
      var opportunityCurrencyName = opportunityCurrency.name; 
      console.log("Opportunity Currency Name: " + opportunityCurrencyName + " | Currency Id: " + opportunityCurrencyId);
      
      // Compare the Opportunity currency with the Account currency
      if (accountCurrencyId !== opportunityCurrencyId) {
      console.log("Currencies do not match. Updating Opportunity currency to match Account currency.");
      
      // Update the Opportunity currency to match the Account currency
      formContext.getAttribute("transactioncurrencyid").setValue([{
      id: accountCurrencyId, 
      name: result.transactioncurrencyid.currencyname, 
      entityType: "transactioncurrency"
      }]);
      
      // Save the form after the currency is updated
      formContext.data.entity.save();
      } else {
      console.log("Currencies match. No update required.");
      }
      } else {
      console.log("No currency is associated with this opportunity.");
      }
      }
      },
      function(error) {
      console.log("Error retrieving account currency: " + error.message);
      }
      );
      } else {
      console.log("Opportunity is not open. No currency update will be performed.");
      }
      },
      function(error) {
      console.log("Error retrieving opportunity status: " + error.message);
      }
      );
      } else {
      console.log("No account is associated with this opportunity.");
      }
      }
  2. Save and Publish the Web Resource:
    • Click Save and then Publish the web resource.

Step 3 : Add the JavaScript to the Opportunity Form for the Account Field onChange Event

In addition to loading the script when the form is loaded, we’ll also trigger it when the Account field is changed by the user.

1. Go to the Opportunity Form Editor:

  • In the solution editor, select the Opportunity entity, and click on Forms.
  • Open the Main form for editing.

2. Add the JavaScript Web Resource to the Form (if not already added):

  • If you’ve already added the currencySync.js web resource in the previous steps, you don’t need to do this again.
  • If not, click on Form PropertiesForm LibrariesAdd, and select the currencySync.js web resource.

3. Attach the Function to the Form Load Event (if not already done):

  • In the Event Handlers section under Form Properties, add the function as before for the OnLoad event.
  • Make sure to set the correct event handler details:
  • Do the same for On Save, so when the opportunity is saved, the function will check if the currency needs to be updated.

4. Attach the Function to the Account Field onChange Event:

  • In the Form Editor, locate the Account field (which is the parentaccountid field in Dynamics).
  • Double-click on the Account field, or select it and click Change Properties.
  • Go to the Events tab of the field properties.
  • Under Field Events, click Add.
  • In the Library dropdown, select the currencySync.js library (if not already added).
  • In the Function Name field, enter getDetailsFromOpportunity (the same function name as used for the onLoad event).
  • Uncheck the box that says “Pass execution context as the first parameter,” if it’s checked.
  • Click OK to save the event handler for the Account field’s onChange event.

5. Save and Publish the Form:

  • Save the changes made in the form editor.
  • Click Publish to make the changes live in Dynamics 365.

Testing the onChange Event

Now, your JavaScript function will be triggered both when the Opportunity form loads and when the Account field is changed.

Test the Functionality:

  1. Open an Opportunity in Dynamics 365.
  2. Change the Account value, and ensure that the script compares the Opportunity currency with the new Account currency.
  3. If the currencies don’t match, the Opportunity currency should update automatically.

Have any questions on this script, or happy that it worked for you? Leave a comment below!

AccessOrange is a leading Microsoft Partner that specializes in Microsoft 365, Dynamics 365 and Azure to help our customers work smarter.
If you need help with building this solution in your own environment, leave your contact information below, and we will contact you as soon as possible.

"*" indicates required fields

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
This field is for validation purposes and should be left unchanged.

Introduction 

Microsoft 365 is a powerful suite of cloud-based productivity and collaboration tools that can help you run your business efficiently and securely. But did you know that you can also leverage the power of Dynamics 365 and Copilot AI to take your customer relationship management (CRM) and marketing to the next level? 

Dynamics 365 is a set of intelligent business applications that integrate seamlessly with Microsoft 365 and enable you to manage your sales, customer service, marketing, and more. Copilot AI is a feature of Dynamics 365 that uses artificial intelligence (AI) to assist you with tasks such as generating leads, creating proposals, and following up with customers. 

In this blog, we will explore the benefits of using Dynamics 365 and Copilot AI for CRM and marketing, and how they can help you grow your business and delight your customers. 

Benefits of Dynamics 365 for CRM and marketing 

Dynamics 365 offers a range of solutions that can help you manage and optimize your customer interactions and marketing campaigns. Some of the benefits of using Dynamics 365 for CRM and marketing are: 

  • Unified data and insights: Dynamics 365 connects with Microsoft 365 and other data sources to provide you with a holistic view of your customers and prospects. You can access and analyze data from multiple channels, such as email, social media, web, and phone, and gain insights into customer behavior, preferences, and needs. 

  • Personalized and relevant communication: Dynamics 365 enables you to segment your audience based on criteria such as location, industry, purchase history, and engagement level. You can then tailor your messages and offers to each segment and
  • deliver them through the most appropriate channel and time. You can also use Dynamics 365 to create and track personalized journeys for each customer, and nurture them along the sales funnel. 
  • Automated and streamlined workflows: Dynamics 365 helps you automate and simplify your CRM and marketing processes, such as lead generation, qualification, scoring, and assignment. You can also use Dynamics 365 to create and execute marketing campaigns, such as email, webinars, events, and surveys, and measure their effectiveness and ROI. You can also integrate Dynamics 365 with other tools, such as Outlook, Teams, and Power BI, to enhance your productivity and collaboration. 

Benefits of Copilot AI for CRM and marketing 

Copilot AI is a feature of Dynamics 365 that uses AI to assist you with CRM and marketing tasks. Copilot AI can help you: 

  • Generate more leads: Copilot AI can help you find and connect with potential customers who are interested in your products or services. Copilot AI can scan the web and social media for relevant prospects, and send them personalized messages and invitations to engage with you. 
  • Create better proposals: Copilot AI can help you create professional and persuasive proposals that showcase your value proposition and address your customers’ pain points. Copilot AI can suggest the best content, layout, and design for your proposals, and help you customize them for each customer. 
  • Follow up with customers: Copilot AI can help you stay in touch with your customers and prospects, and ensure that you don’t miss any opportunities or deadlines. Copilot AI can remind you to follow up with customers and suggest the best time and channel to do so. Copilot AI can also help you respond to customer queries and requests, and provide relevant information and solutions. 

Conclusion 

Microsoft 365 is a great platform for running your business, but it can be even better with Dynamics 365 and Copilot AI. By using these tools, you can enhance your CRM and marketing capabilities, and achieve better results and customer satisfaction. Dynamics 365 and Copilot AI can help you: 

  • Access and leverage unified data and insights 
  • Communicate with your customers and prospects in a personalized and relevant way 
  • Automate and streamline your CRM and marketing workflows 
  • Generate more leads, create better proposals, and follow up with customers 

If you want to learn more about Dynamics 365 and Copilot AI, and how they can help you grow your business, contact us at [email protected] and our customer success manager can help you to learn more.