{"id":111,"date":"2018-03-21T07:39:18","date_gmt":"2018-03-21T14:39:18","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/"},"modified":"2025-06-11T08:09:28","modified_gmt":"2025-06-11T15:09:28","slug":"using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/","title":{"rendered":"A more powerful data platform for your canvas apps: introducing business rules in CDS"},"content":{"rendered":"<p>When you create a canvas app in PowerApps, you\u00a0can now use server-side business logic from the Common Data Service.\u00a0 For a canvas app, you start with your user experience, crafting a highly tailored interface with the power of a blank canvas and connecting it to the Common Data Service along with your choice of 200 data sources.<\/p>\n<p>\u00a0<\/p>\n<p>If you don&#8217;t have an new environment (created after March 20th 2018) with the Common Data Service enabled, check out this <a href=\"https:\/\/powerapps.microsoft.com\/blog\/create-a-database-with-the-latest-version-of-common-data-service\/\">blog <\/a>to learn how to create one.<\/p>\n<p>\u00a0<\/p>\n<h3><strong>The Scenario<\/strong>:<\/h3>\n<p>You need to build an application for the accounts-receivable department in which users can update a customer\u2019s credit limit.\u00a0 You\u2019ll use the Common Data Service for Apps as your data source. The payment terms will update automatically based on current payment performance and the credit limit. The logic for the payment terms changes quarterly based on the overall market and company performance and must be maintained outside of your app.<\/p>\n<p>\u00a0<\/p>\n<h3><strong>Create a business rule<\/strong>:<\/h3>\n<p>Start by <a href=\"https:\/\/web.powerapps.com\">signing into PowerApps<\/a>, and\u00a0then<\/p>\n<ul style=\"margin-left: 40px;\">\n<li>On the left navigation go to the data area and go to entities<\/li>\n<li>Select the Account entity<\/li>\n<li>Select the Business rules link<\/li>\n<li>Click \u201cAdd business rule\u201d in the command bar on the top of the screen<\/li>\n<\/ul>\n<p align=\"center\" style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png\" style=\"float: left;\"\/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>In the new tab, you can define the business logic.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image3.png\"\/><\/p>\n<p>\u00a0<\/p>\n<p>Define your business logic:<\/p>\n<ul style=\"margin-left: 40px;\">\n<li>Add a condition:\n<ul style=\"list-style-type:circle;\">\n<li>Click the <strong>New condition<\/strong> box on the top right, this will open the properties panel on the right<\/li>\n<li>Change the display name to <strong>Credit Less than $500<\/strong><\/li>\n<li>Set the field to <strong>Credit Limit<\/strong><\/li>\n<li>Set the operator to <strong>Is less than or equal to<\/strong><\/li>\n<li>Set the value to <strong>500.00<\/strong><\/li>\n<li>Click <strong>Apply<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image4.png\"\/><\/p>\n<p>\u00a0<\/p>\n<ul style=\"margin-left: 40px;\">\n<li>Add a component to the <em>true<\/em> flow (right of the condition box):\n<ul style=\"list-style-type:circle;\">\n<li>Select the component tab<\/li>\n<li>Move\u00a0 <strong>Set <u>Field<\/u> Value<\/strong>\u00a0 component to the right of the condition box<\/li>\n<li>Click on the item to enable the property tab<\/li>\n<li>Set the Display Name to <strong>Set Payment Terms to Net 30<\/strong><\/li>\n<li>Set the field to <strong>Payment Terms<\/strong><\/li>\n<li>Set the value to <strong>Net 30<\/strong><\/li>\n<li>Click <strong>Apply<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image5.png\"\/><\/p>\n<ul style=\"margin-left: 40px;\">\n<li>Add a component to the <em>false<\/em> flow (under the Condition box)\n<ul style=\"list-style-type:circle;\">\n<li>Select the component tab<\/li>\n<li>Move\u00a0<strong>Set <u>Field<\/u> Value<\/strong>\u00a0component to the bottom of the condition box<\/li>\n<li>Click on the item to enable the property tab<\/li>\n<li>Set the Display Name to <strong>Set Payment Terms to Net 60<\/strong><\/li>\n<li>Set the field to <strong>Payment Terms<\/strong><\/li>\n<li>Set the Value to <strong>Net 60<\/strong><\/li>\n<li>Click <strong>Apply<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p>Your business rule designer looks like this:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image6.png\"\/><\/p>\n<p>\u00a0<\/p>\n<p>Rename your business rule by clicking the down arrow for <strong>New business rule<\/strong> on the top left of the window.\u00a0 Name the business rule <strong>Payment Term Logic<\/strong>.<\/p>\n<p>You must save and activate the business rule to use it in your app.\u00a0 On the top right of the window, click the <strong>Save<\/strong> button, followed by the <strong>Activate<\/strong> button. When this succeeds, the bottom-left corner of the window changes from <strong>Draft<\/strong> to <strong>Activated<\/strong>.<\/p>\n<p>You can now close the business-rule window and return to the business-rule grid for the <strong>Account<\/strong> entity, which looks like this:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image7.png\"\/><\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<h3><strong>Build a canvas app<\/strong>:<\/h3>\n<p>Now that you\u2019ve created a business rule and set it to fire on the <strong>Account<\/strong> entity, you can create a canvas app for your accounts-receivable department.<\/p>\n<p>Start by having PowerApps generate an app from your data:<\/p>\n<ul style=\"margin-left: 40px;\">\n<li>On the PowerApps site, confirm that canvas appears in the bottom-left corner<\/li>\n<li>Click <strong>Apps<\/strong> in the left navigation bar, and then click <strong>Create an app<\/strong> in the command bar<\/li>\n<li>When PowerApps Studio opens, click <strong>Common Data Service<\/strong> under <strong>Start with your data<\/strong>, or click the next arrow and then select <strong>Common Data Service<\/strong>.<\/li>\n<li>Under <strong>Choose a table<\/strong>, click <strong>Accounts<\/strong>, and then click <strong>Connect<\/strong><\/li>\n<\/ul>\n<p style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image7.png\"\/><\/p>\n<p>In the app that you just generated, you\u2019ll update some data that the user will interact with:<\/p>\n<ul style=\"margin-left: 40px;\">\n<li>In <strong>BrowseScreen1<\/strong>\n<ul style=\"list-style-type:circle;\">\n<li>Click <strong>BrowseGallery1<\/strong><\/li>\n<li>Under <strong>Data<\/strong> in the property panel on the right, click <strong>Accounts<\/strong><\/li>\n<li>Change the layout to <strong>Title, subtitle, and body<\/strong> so that you can see all of the data in an account record<\/li>\n<li>Set the <strong>Title2<\/strong> property to <strong>name<\/strong><\/li>\n<li>Set the <strong>Subtitle2<\/strong> property to <strong>credit limit<\/strong><\/li>\n<li>Set the <strong>Body2<\/strong> property to <strong>payment terms label<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image8.png\"\/><\/p>\n<ul style=\"margin-left: 40px;\">\n<li>In <strong>DetailScreen1<\/strong>\n<ul style=\"list-style-type:circle;\">\n<li>In the left navigation bar, click <strong>DetailForm1<\/strong><\/li>\n<li>In the data area of the property panel on the right, click <strong>Accounts<\/strong><\/li>\n<li>Hide all fields except <strong>Account Name<\/strong> and <strong>Credit Limit<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"margin-left:1.0in;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image9.png\" style='font-weight: 400; font-style: normal; font-size: 13.008px; font-family: Tahoma, \"Helvetica Neue\", Arial, Helvetica, sans-serif;'\/><\/p>\n<ul style=\"margin-left: 40px;\">\n<li>In <strong>EditScreen1<\/strong>\n<ul style=\"list-style-type:circle;\">\n<li>Click <strong>EditForm1<\/strong><\/li>\n<li>In the <strong>Data<\/strong> area of the property panel on the right, click <strong>Accounts<\/strong><\/li>\n<li>Hide all fields except <strong>Account Name<\/strong> and <strong>Credit Limit<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Now you can follow these steps to try out the canvas app and watch the values change:<\/p>\n<ul style=\"margin-left: 40px;\">\n<li>Navigate back to <strong>BrowseScreen1<\/strong>, the first screen<\/li>\n<li>Select the play button on the top right<\/li>\n<li>Select the next arrow for the first account in your list (If you don\u2019t have an account, create one by selecting the + button)<\/li>\n<li>Select the pencil on the top right to edit the data<\/li>\n<li>Change the credit limit to <strong>1000<\/strong><\/li>\n<li>Select the checkmark on the top right<\/li>\n<\/ul>\n<p style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image10.png\" style=\"height: 225px; width: 400px;\"\/><\/p>\n<ul style=\"margin-left: 40px;\">\n<li>Select the back button to return to the list screen<\/li>\n<\/ul>\n<p>The payment term is now automatically set to Net 60 for you<\/p>\n<p style=\"margin-left: 40px;\"><img decoding=\"async\" src=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image11.png\" style=\"height: 203px; width: 400px;\"\/><\/p>\n<p>You now know how to create business rules in PowerApps and use them in your canvas apps.\u00a0 Go try it on your own apps.\u00a0 Navigate to <a href=\"https:\/\/web.powerapps.com\/\">https:\/\/web.powerapps.com<\/a>, and create your first app that\u2019s enabled with business rules!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When you create a canvas app in PowerApps, you can now use server-side business logic from the Common Data Service.<\/p>\n","protected":false},"author":87,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","ms-ems-related-posts":[],"footnotes":""},"audience":[3378],"content-type":[3423],"job-role":[],"product":[3473],"property":[],"topic":[],"coauthors":[2135],"class_list":["post-111","post","type-post","status-publish","format-standard","hentry","audience-it-professional","content-type-tips-and-guides","product-power-apps"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>A more powerful data platform for your canvas apps: introducing business rules in CDS - Microsoft Power Platform Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A more powerful data platform for your canvas apps: introducing business rules in CDS - Microsoft Power Platform Blog\" \/>\n<meta property=\"og:description\" content=\"When you create a canvas app in PowerApps, you can now use server-side business logic from the Common Data Service.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Power Platform Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-21T14:39:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-11T15:09:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png\" \/>\n<meta name=\"author\" content=\"Evan Chaki\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Evan Chaki\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evan-chaki\/\",\"@type\":\"Person\",\"@name\":\"Evan Chaki\"}],\"headline\":\"A more powerful data platform for your canvas apps: introducing business rules in CDS\",\"datePublished\":\"2018-03-21T14:39:18+00:00\",\"dateModified\":\"2025-06-11T15:09:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\"},\"wordCount\":880,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png\",\"keywords\":[\"Dataverse\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\",\"name\":\"A more powerful data platform for your canvas apps: introducing business rules in CDS - Microsoft Power Platform Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png\",\"datePublished\":\"2018-03-21T14:39:18+00:00\",\"dateModified\":\"2025-06-11T15:09:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.webp\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.webp\",\"width\":480,\"height\":147,\"caption\":\"graphical user interface, application\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A more powerful data platform for your canvas apps: introducing business rules in CDS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"name\":\"Microsoft Power Platform Blog\",\"description\":\"Innovate with Business Apps\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization\",\"name\":\"Microsoft Power Platform Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png\",\"width\":194,\"height\":145,\"caption\":\"Microsoft Power Platform Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/98aacde8099b676ab8c7d46a5f2793bb\",\"name\":\"Evan Chaki\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g8090c1afb2732c0e5cf53ed5da525495\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g\",\"caption\":\"Evan Chaki\"},\"url\":\"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evchaki\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"A more powerful data platform for your canvas apps: introducing business rules in CDS - Microsoft Power Platform Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/","og_locale":"en_US","og_type":"article","og_title":"A more powerful data platform for your canvas apps: introducing business rules in CDS - Microsoft Power Platform Blog","og_description":"When you create a canvas app in PowerApps, you can now use server-side business logic from the Common Data Service.","og_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/power-apps\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/","og_site_name":"Microsoft Power Platform Blog","article_published_time":"2018-03-21T14:39:18+00:00","article_modified_time":"2025-06-11T15:09:28+00:00","og_image":[{"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png","type":"","width":"","height":""}],"author":"Evan Chaki","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Evan Chaki","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evan-chaki\/","@type":"Person","@name":"Evan Chaki"}],"headline":"A more powerful data platform for your canvas apps: introducing business rules in CDS","datePublished":"2018-03-21T14:39:18+00:00","dateModified":"2025-06-11T15:09:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/"},"wordCount":880,"commentCount":0,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png","keywords":["Dataverse"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/","name":"A more powerful data platform for your canvas apps: introducing business rules in CDS - Microsoft Power Platform Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.png","datePublished":"2018-03-21T14:39:18+00:00","dateModified":"2025-06-11T15:09:28+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#primaryimage","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.webp","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2018\/03\/CDS_SSL_CA_Image2.webp","width":480,"height":147,"caption":"graphical user interface, application"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/2018\/03\/21\/using-common-data-service-for-apps-server-side-business-logic-in-a-canvas-app\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/"},{"@type":"ListItem","position":2,"name":"A more powerful data platform for your canvas apps: introducing business rules in CDS"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","name":"Microsoft Power Platform Blog","description":"Innovate with Business Apps","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#organization","name":"Microsoft Power Platform Blog","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-content\/uploads\/2020\/03\/Microsoft-Logo-e1685482038800.png","width":194,"height":145,"caption":"Microsoft Power Platform Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/#\/schema\/person\/98aacde8099b676ab8c7d46a5f2793bb","name":"Evan Chaki","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g8090c1afb2732c0e5cf53ed5da525495","url":"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c7b4f1ac40e2b80cc4069d38791ead340f454cfc6c78cc15793ca9d6301de400?s=96&d=mm&r=g","caption":"Evan Chaki"},"url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/author\/evchaki\/"}]}},"bloginabox_animated_featured_image":null,"bloginabox_display_generated_audio":false,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Power Platform Blog","distributor_original_site_url":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":10,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"predecessor-version":[{"id":124759,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/posts\/111\/revisions\/124759"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"audience","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/audience?post=111"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/content-type?post=111"},{"taxonomy":"job-role","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/job-role?post=111"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/product?post=111"},{"taxonomy":"property","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/property?post=111"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/topic?post=111"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/power-platform\/blog\/wp-json\/wp\/v2\/coauthors?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}