Tag Archives: Integration
Enhancing Business Visibility: Integrating Project Operations (PO) with Power BI for Data-Driven Insights
In today’s data-driven business landscape, organizations strive to enhance visibility into their project operations to make informed decisions. Microsoft’s Project Operations (PO) provides a robust solution for managing projects, finances, and resources. However, to unlock its full potential, integrating PO with Power BI allows businesses to gain deeper insights through real-time analytics and visualization. This blog is specifically designed for Team Leads, CTOs, and CEOs who need to streamline project tracking, financial oversight, and resource allocation. By integrating PO with Power BI, decision-makers can reduce manual reporting efforts, gain actionable insights, and drive operational efficiency. Why Integration Matters Project Operations (PO) enables organizations to streamline project management, resource planning, and financial tracking. However, without effective reporting, extracting meaningful insights from this data can be challenging. Power BI bridges this gap by offering advanced visualization tools, predictive analytics, and customizable dashboards. Benefits of Integrating PO with Power BI Steps to Integrate PO with Power BI Use Cases of PO & Power BI Integration What’s Next? This blog is the first in a series on leveraging data for business growth. Stay tuned for upcoming blogs on: To conclude, Integrating Project Operations with Power BI empowers businesses with real-time, data-driven insights that enhance decision-making and operational efficiency. By leveraging advanced analytics and visualization, organizations can proactively manage projects, optimize resource allocation, and drive profitability. By embracing this integration, businesses can unlock the full potential of their project data and stay competitive in today’s digital economy. Stay tuned for the next blog in this series! We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com
Visualizing Data: How to Add Power BI Reports to Business Central
Power BI is a great tool for turning data into clear, interactive reports and the best part? It works smoothly with Business Central, right out of the box. You just need to set it up, and you can start viewing powerful reports right inside within Business Central dashboard. Microsoft provides several ready-made reports, grouped into different apps, so you can pick and install only what you need. Once set up, these reports help you track key business insights without switching between systems. In this blog, we’ll walk you through how to set up and use Power BI reports in Business Central to make smarter decisions. References Introduction to Business Central and Power BI Install Power BI apps for Business Central Configuration Open your Business Central and search for “Assisted Setup”. Click on “Connect to Power BI” Once the set up page opens, click on Next. Fiscal: A 12-month calendar that begins in any month and ends 12 months after. Standard: A 12-month calendar that begins on January 1 and ends on December 31. Weekly: A calendar that supports 445, 454, or 544 week groupings.The first and last day of the year might not correspond to a first and last day of a month, respectively. Specify the time zone. Specify the working days. Here, it asks for configuring individual apps for Power BI. You can skip this for now as we’ll be back at this later. In the next screen, specify the environment name and the company name. Now, we’ll install the “D365 Business Central – Sales” app in Power BI. Go to your Power BI dashboard and click on Apps. Search for Business Central Open the relevant one and click on “Get it now” Then click on “Install” Wait for a few seconds till the installation is complete. Now, when you open the report for the first time, it’ll show the report with sample data. To view it with your own data, we need to connect the data to Business Central. Enter the company and environment name. Specify the authentication method to OAuth 2.0 and click on “Sign in and connect” After a few minutes, the refresh will be completed and you’ll see your data. Once this is done, search for “Power BI Connector Setup” In the relevant tab, Sales Report for this example, click on “Power BI Sales” field’s drill down. Select the app that you installed. Now go back to your Business Central dashboard and scroll down to the “Power BI” section. Click on the “Get Started with Power BI” and keep clicking on Next till the end of the setup. If there are any selected reports, you will see the relevant report. If not, you’ll see the following- In either case, click on the drop-down next to Power BI or click on the “Select reports” Scroll down to find the appropriate report and click on “Enable” and then click on Ok. You will see your Power BI report on the dashboard. You can enable multiple reports and cycle through them by clicking on the “Next” and “Previous” buttons. You can also expand the report to see it as a full page within Business Central by clicking on the “Expand” page. You can further view it in Fullscreen as well. If you want to see multiple reports on the same page, we can create a custom role center and add multiple reports to them. For example, I’ve created a “Power BI dashboard” role center. In this way, we can have n number of reports on our dashboard. Source Code – BCApps-PowerBIDashboard Setting up Power BI in Business Central is a simple way to bring your data to life. With just a few steps, you can connect your reports, see real-time insights, and make better business decisions all without leaving Business Central. Whether you need sales trends, financial reports, or custom dashboards, Power BI makes it easy to track what matters most. If you need further assistance or have specific questions about your Business Central and Power BI Integration, feel free to reach out for personalized guidance. We hope you found this blog useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfonts.com.
Shopify Meets Dynamics 365 Finance and Operations: A Guide to Integration [Part 1]
Introduction The integration of Shopify with Dynamics 365 Finance and Operations (FnO) starts by creating a secure link.The initial step in this process involves generating an API token within Shopify, serving as the credential for verified communication between both systems.In this blog I will walk you through the steps to create the API token, facilitating a seamless beginning for your integration. Pre-requisites Access to the Shopify Admin account with appropriate permissions to create private apps or access custom apps.API access enabled in your Shopify store.A basic understanding of API concepts and authentication methods. [Available in Reference]The URL or endpoint details where the API calls will be directed. [Available in Reference] References Shopify – How to generate API token ResfulAPI.net – Basics of REST APIsShopify.dev – REST API Documentation Configuration Step 1: Access the Shopify Admin Portal Log in to your Shopify store’s Admin account. Navigate to Apps from the main menu. Step 2: Create a Custom App Click on Develop Apps (available under Apps). Select Create an App and provide a name (e.g., “Dynamics365_Integration”). Assign a developer or admin as the app owner. Step 3: Configure API Scopes After creating the app, click on it to open the configuration page. Under the Configuration section, define the API scopes required for integration based on your requirements. You can change these later if required. For example: Click on Save to save the changes. Step 4: Generate the API Token Once scopes are set, click on the API credentials tab. Click Install App to generate the credentials. A unique Access Token will be displayed. Copy and securely store this token, as it will not be shown again. If you scroll down, you’ll also see the API Key and API Secret; store these values as well. Step 5: Test the Token Use a tool like Postman to test the API token. Set up a GET request to an API endpoint (e.g., https://<API KEY>:<API Secret>@<Store Name>.myshopify.com/admin/api/2023-07/products.json). Include the token in the header as X-Shopify-Access-Token. Verify the response to confirm the token is working correctly. Or simply (https://<Store Name>.myshopify.com/admin/api/2023-07/products.json) Conclusion The API token is your gateway to integrating Shopify with Dynamics 365 Finance and Operations. By following this guide, you’ve taken the first critical step toward seamless data flow between your e-commerce platform and back-office operations. In the next blog, we’ll explore how to configure Dynamics 365 Finance and Operations to connect with Shopify and start synchronizing data. We hope you found this article useful, and if you would like to discuss anything, you can reach out to us at transform@cloudfronts.com
Using Automated Testing in POSTMAN for Business Central Web Services
Introduction: While using Business Central Web Services or APIs, we often use POSTMAN for testing the request and the responses. Today we’ll see how we can automate this testing to a certain extent using the inbuilt features of POSTMAN. We can have testing logic that runs before every request, after every request or logic that tests on particular request. In the below demonstration, we’ll write automated test to check for GET, PUT, POST and DELETE operations for a single record on a custom API. Postman itself provides a bunch of standard procedures or boiler plate code which we can modify as per our requirements. As this uses Javascript we can also use additional JS features here. Pre-requisites: Postman Business Central OnCloud or OnPremise References: Writing tests | Postman Learning Center Announcing Postman for the Web, Now in Open Beta | Postman Blog Configuration: Post Request – So first we are going to be creating a record in the Customer Table with the following fields. One of the common things to be testing with Custom APIs is to verify whether the request is being created successfully (1) and what we are sending and what is being stored in the record are the same(2). As we are using Javascript, the response is stored in the jsonData variable and we can access any of the fields of the response as a property on the jsonData variable. As the rest of our automated tests are doing to be performed on this same record, we need to store the Identifier for this record inside some variable which exists outside the scope of this request, here we are using a variable with the Collection scope. If you want to use the same variable outside of this collection, you can also define Global variables. GET Request – In a simple GET request, the only thing we are concerned with here, is whether the request is executed successfully or not. For this we are simply going to be checking the Status Code. PUT Request – In a PUT request, we are going to be modifying the record that we previously created, here I’m going to update the name of the record. A common test-case for PUT requests would be to ensure that (a) the request is completed successfully and (b) what is being sent in the request is what is updated on the record and is available in the response. DELETE Request – In a simple DELETE request, the only thing we are concerned with is whether the requested is executed successfully and here we will be simply checking the Status Code returned. Once all the Automated Tests are written, you can either execute them from the Collection Level or from a folder level. Here we will be executing our tests from the folder level. We can also define the Run Order for the requests. Once the Tests have run, we can get a summary of the results as well as detailed version of the results. Conclusion: Thus we saw how to use Automated Testing in POSTMAN to reduce re-work and increase efficiency while testing. A bonus tip – you can now use POSTMAN Web Version to create requests instead of download the POSTMAN app and the entire blog above was written using the Web App of POSTMAN. Do note that not everything that can be done on the Windows App can be done on the Web App. Happy Coding!
Rest API GET call in JSON format in Dynamics 365 Finance and Operations
Introduction: In this blog, we will see how to get response from Rest Api through GET call Solution: Consisting of basic authentication, we will pass username and password in byteStr and for the endpoint we will put it in url in below code. class CFSJSTestRestAPI { public static void main(Args _args) { int find; str url,aosUri,activeDirectoryTenant; str activeDirectoryClientAppId; str activeDirectoryClientAppSecret; str postData,activeDirectoryResource; str aadClientAppSecret,oAuthHeader; str returnValue,jsonString,jsondszstr; System.Net.HttpWebRequest request; System.Net.HttpWebResponse response; System.Byte[] byteArray; System.IO.Stream dataStream; System.IO.StreamReader streamRead; System.IO.StreamWriter streamWrite; System.Net.ServicePoint servicePoint; System.Net.ServicePointManager servicePointmgr; System.Net.HttpVersion version; CLRObject clrObj; Newtonsoft.Json.JsonReader reader; System.Text.Encoding utf8; Counter countCounter; Object obj; Map data; System.Byte[] byteArraynew; System.Net.WebHeaderCollection headers = new System.Net.WebHeaderCollection(); new InteropPermission(InteropKind::ClrInterop).assert(); str byteStr = strfmt(‘%1:%2’, “USERNAME”, “PASSWORD”); headers = new System.Net.WebHeaderCollection(); url = “http://dummy.restapiexample.com/api/v1/employees”; clrObj = System.Net.WebRequest::Create(url); request = clrObj; request.set_Method(“GET”); request.set_KeepAlive(true); request.set_ContentType(“application/json”); utf8 = System.Text.Encoding::get_UTF8(); byteArraynew = utf8.GetBytes(byteStr); byteStr = System.Convert::ToBase64String(byteArraynew); headers.Add(“Authorization”, ‘Basic ‘ + byteStr); request.set_Headers(headers); servicePoint = request.get_ServicePoint(); System.Net.ServicePointManager::set_Expect100Continue(false); System.Net.ServicePointManager::set_SecurityProtocol(System.Net.SecurityProtocolType::Tls12); response = request.GetResponse(); dataStream = response.GetResponseStream(); streamRead = new System.IO.StreamReader(dataStream); jsonString = streamRead.ReadToEnd(); info(strFmt(“RESPONSE: %1”,jsonString)); dataStream.Close(); response.Close(); } } Thanks for reading !!!
Migrating Activities Of Type ‘Case Resolution’ Between Two Microsoft Dynamics CRM Environments
Introduction: While migrating Cases, the migration of activities of type ‘Case Resolution’ is necessary. However, the complexity in migrating this increases due to the fact that when the status of a case is updated, a blank case resolution activity is created automatically by the system. This system-generated case resolution needs to be deleted as this would result in each case having two case resolution activities after migration – one system-generated and one with the correct migrated data from the source. Solution: To tackle this issue, one must follow the following steps during migration: 1. Send all Cases (no matter what the status in the source environment) to the target with their status as ‘Open’. 2. Send all related activities to the target environment. 3. Update the case status in the target environment to its status as in the source environment. 4. For cases with status ‘Resolved’, a system-generated case resolution activity will be created. 5. In your case resolution migration map, first add a step to delete the existing case resolution in the target and then insert the case resolution from the source environment. 6. Now your case with status ‘Resolved’ will have only one case resolution and that will be the one migrated from the source environment with the correct data. Conclusion: Above steps shed some light on how to preserve the integrity of case resolution activity data in your target environment during data migration.
Salesforce field not visible in Scribe Insight Integration
Introduction: There may arise a scenario where after creating a connection to Salesforce, a field that exists in Salesforce isn’t visible in your Scribe Insight DTS. This can happen because of multiple reasons. In this article I have listed down 3 of the most likely reasons why your SFDC field is not visible in Scribe Insight. Three Probable Reasons: Reason 1 The first reason can be that a custom field was created in your SFDC after you had created your SFDC connection in Scribe Insight. To fix this follow the steps mentioned below: Go to Connections in your DTS Select your SFDC connection Select Edit -> DTS Connection Settings -> Adapter Settings and click on Refresh Metadata. Your custom field should now be visible. Reason 2 The second reason can be that the field-level security has the visibility disabled for that field. To fix this follow the steps mentioned below: Log into SFDC classic and select Setup Go to Build -> Customize -> Object (Eg. Accounts, Asset) -> Fields Click on the field that isn’t visible in Scribe Insight and select Set Field-Level Security Make sure the field is visible for your Profile Reason 3 The third reason can be that you are just using an old API of Salesforce and that field did not exist for that version of SFDC. For example the Asset RecordTypeId field was added in the later versions of Salesforce. To fix this follow the steps mentioned below: Go to Connections Select your SFDC connection and click on Edit Select Change Connection Update the version of the Salesforce URL to the latest version that your SFDC supports