{"id":42255,"date":"2025-09-10T14:37:31","date_gmt":"2025-09-10T09:07:31","guid":{"rendered":"https:\/\/www.inogic.com\/blog\/?p=42255"},"modified":"2025-09-10T18:03:14","modified_gmt":"2025-09-10T12:33:14","slug":"how-to-generate-shared-record-links-in-dynamics-365-crm-a-step-by-step-guide","status":"publish","type":"post","link":"https:\/\/www.inogic.com\/blog\/2025\/09\/how-to-generate-shared-record-links-in-dynamics-365-crm-a-step-by-step-guide\/","title":{"rendered":"How to Generate Shared Record Links in Dynamics 365 CRM: A Step-by-Step Guide"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42265\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide.png\" alt=\"How to Generate Shared Record Links in Dynamics 365 CRM A Step-by-Step Guide\" width=\"2100\" height=\"1200\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide.png 2100w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide-300x171.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide-1024x585.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide-768x439.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide-1536x878.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide-2048x1170.png 2048w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/How-to-Generate-Shared-Record-Links-in-Dynamics-365-CRM-A-Step-by-Step-Guide-660x377.png 660w\" sizes=\"(max-width: 2100px) 100vw, 2100px\" \/><\/p>\n<p>In Dynamics 365, the traditional way of sharing records involves manually managing user and team permissions. But what if you could simply generate a secure link and share it, so that anyone who clicks on it instantly gets access to the record?<\/p>\n<p>Sounds interesting, right?<\/p>\n<p>Microsoft\u2019s GenerateSharedLink Action solves this problem by allowing users to create a secure, shareable link to a record with just one click. Instead of assigning permissions to each individual or team, you generate a link, share it with colleagues, and they gain access instantly.<\/p>\n<p>This blog will walk you through:<\/p>\n<ul>\n<li>What shared record links are in Dynamics 365 CRM?<\/li>\n<li>Why are they better than manual permission management?<\/li>\n<li>A step-by-step implementation guides<\/li>\n<li>Security aspects of shared links<\/li>\n<li>Real-life use cases for CRM collaboration<\/li>\n<\/ul>\n<h3><strong>What Is Shared Record Links in Dynamics 365 CRM?<\/strong><\/h3>\n<p>Shared record links are unique, system-generated URLs produced through the GenerateSharedLink Action, designed for quick and secure record sharing. When someone clicks the link, Dynamics 365 automatically grants them the necessary permissions to access the record.<\/p>\n<p>This makes collaboration:<\/p>\n<ul>\n<li><strong>Faster<\/strong> \u2192 No waiting for manual permissions<\/li>\n<li><strong>Flexible<\/strong> \u2192 Anyone with CRM access and the link can collaborate<\/li>\n<li><strong>Secure<\/strong> \u2192 Each shared link carries a cryptographic key that ensures it is valid and hasn\u2019t been altered<\/li>\n<\/ul>\n<h3><strong>Why Use GenerateSharedLink Instead of GrantAccessRequest?<\/strong><\/h3>\n<p>Traditionally, developers used the <strong>GrantAccessRequest message<\/strong> to share records programmatically. This required:<\/p>\n<ul>\n<li>Knowing <em>who<\/em> needs access in advance<\/li>\n<li>Assigning explicit rights (Read, Write, Append, etc.)<\/li>\n<\/ul>\n<p>The <strong>GenerateSharedLink Action<\/strong> is simpler:<\/p>\n<ul>\n<li>Requires only the target record and access rights<\/li>\n<li>Generates a secure, shareable link instantly<\/li>\n<li>Allows users to collaborate without predefining every participant<\/li>\n<\/ul>\n<h3><strong>Step-by-Step Guide to Creating Shared Record Links:<\/strong><\/h3>\n<p><strong>Step 1: Create a C# Assembly to Generate the Link<\/strong><\/p>\n<p>You\u2019ll need a function that uses GenerateSharedLinkRequest and returns the link.<\/p>\n<pre class=\"lang:css gutter:true start:1\">private void GenerateLinkOfRecord(CodeActivityContext context, IWorkflowContext workflowContext, IOrganizationService orgService, string primaryEntityName, string recordId, ITracingService trace)\r\n\r\n{\r\n\r\n#region function level variables\r\n\r\nstring functionName = \"GenerateLinkOfRecord\";\r\n\r\nEntityReference targetRecordReference = new EntityReference();\r\n\r\nstring recordLink=string.Empty;\r\n\r\n#endregion\r\n\r\ntry\r\n\r\n{\r\n\r\ntrace.Trace(\"Initiated GenerateLinkOfRecord\");\r\n\r\ntargetRecordReference = new EntityReference(primaryEntityName,new Guid(recordId));\r\n\r\ntrace.Trace(\"Initiated GenerateLinkOfRecord\");\r\n\r\nGenerateSharedLinkRequest request = new GenerateSharedLinkRequest\r\n\r\n{\r\n\r\nTarget = targetRecordReference,\r\n\r\nSharedRights = AccessRights.ReadAccess | AccessRights.WriteAccess\r\n\r\n};\r\n\r\ntrace.Trace(\"Initiated GenerateLinkOfRecord\");\r\n\r\nGenerateSharedLinkResponse response = (GenerateSharedLinkResponse)orgService.Execute(request);\r\n\r\ntrace.Trace(\"Initiated GenerateLinkOfRecord\");\r\n\r\nrecordLink =response.Response;\r\n\r\ntrace.Trace(\"Initiated GenerateLinkOfRecord\");\r\n\r\nLinkString.Set(context, recordLink);\r\n\r\n}\r\n\r\ncatch (InvalidPluginExecutionException ex)\r\n\r\n{\r\n\r\nthrow new InvalidPluginExecutionException(functionName + \":\" + ex.Message);\r\n\r\n}\r\n\r\ncatch (FaultException&lt;OrganizationServiceFault&gt; ex)\r\n\r\n{\r\n\r\nthrow new InvalidPluginExecutionException(functionName + \":\" + ex.Message);\r\n\r\n}\r\n\r\ncatch (Exception ex)\r\n\r\n{\r\n\r\nthrow new InvalidPluginExecutionException(functionName + \":\" + ex.Message);\r\n\r\n}\r\n\r\n}<\/pre>\n<h3><strong>Step 2: Register the Assembly in a Custom Action:<\/strong><\/h3>\n<p>Expose the assembly logic through Dataverse by registering a custom action.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42256\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/1Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1127\" height=\"769\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/1Simplifying-Collaboration-in-Dynamics-365.png 1127w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/1Simplifying-Collaboration-in-Dynamics-365-300x205.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/1Simplifying-Collaboration-in-Dynamics-365-1024x699.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/1Simplifying-Collaboration-in-Dynamics-365-768x524.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/1Simplifying-Collaboration-in-Dynamics-365-660x450.png 660w\" sizes=\"(max-width: 1127px) 100vw, 1127px\" \/><\/p>\n<h3><strong>Step 3: Write JavaScript to Call the Action:<\/strong><\/h3>\n<p>Use JavaScript with Xrm.WebApi.execute to generate the link dynamically when needed.<\/p>\n<pre class=\"lang:css gutter:true start:1\">public generateLink(primaryEntityName: string, currentRecordId: string) {\r\n\r\nlet functionName: string = \"generateLink\";\r\n\r\ntry {\r\n\r\n\/\/validate name\r\n\r\nif (this.isValid(currentRecordId) &amp;&amp; this.isValid(primaryEntityName)) {\r\n\r\nvar request = {\r\n\r\n\/\/ Parameters Edm.String\r\n\r\nRecordId: currentRecordId.replace(\"{\", \"\").replace(\"}\", \"\"),\r\n\r\nPrimaryEntityName: primaryEntityName,\r\n\r\ngetMetadata: function () {\r\n\r\nreturn {\r\n\r\nboundParameter: null,\r\n\r\nparameterTypes: {\r\n\r\nRecordId:{typeName:\"Edm.String\",structuralProperty:1 },\r\n\r\nPrimaryEntityName: {\r\n\r\ntypeName: \"Edm.String\", structuralProperty: 1 }\r\n\r\n},\r\n\r\noperationType: 0,\r\noperationName: \"new_GenerateSharedLink\"\r\n\r\n};\r\n\r\n}\r\n\r\n};\r\n\r\n\/\/@ts-ignore\r\n\r\nXrm.WebApi.execute(request).then(\r\n\r\nfunction success(response) {\r\n\r\nif (response.ok) { return response.json(); }\r\n\r\n}\r\n\r\n).then(function (responseBody) {\r\n\r\nvar result = responseBody;\r\n\r\nconsole.log(result);\r\n\r\nvar recordlink = result[\"RecordLink\"];\r\n\r\nCRM_Contact_Library.makeFullUrlFromResponse(recordlink);\r\n\r\n}).catch(function (error) {\r\n\r\nconsole.log(error.message);\r\n\r\n});\r\n\r\n}\r\n\r\n}\r\n\r\ncatch (error) {\r\n\r\n\/\/showing the error\r\n\r\nCRM_Contact_Library.showErrorMessage(functionName, error.message);\r\n\r\n}\r\n\r\n}\r\n\r\n\u00a0\r\n\r\nmakeFullUrlFromResponse = (recordlink: string) =&gt; {\r\n\r\n\/\/function level varibales\r\n\r\nlet functionName: string = \"makeFullUrlFromResponse\";\r\n\r\ntry {\r\n\r\n\/\/@ts-ignore\r\n\r\nvar baseUrl = Xrm.Utility.getGlobalContext().getClientUrl();\r\n\r\n\/\/ Construct full share link\r\n\r\nvar fullRecordLink = baseUrl + \"\/main.aspx?\" + recordlink;\r\n\r\n\u00a0\r\n\r\n\/\/@ts-ignore\r\n\r\nXrm.Navigation.openAlertDialog({\r\n\r\ntext: \"Shareable Link:\\n\" + fullRecordLink\r\n\r\n});\r\n\r\n\u00a0\r\n\r\n} catch (error) {\r\n\r\nCRM_Contact_Library.showErrorMessage(functionName, error.message);\r\n\r\n}\r\n\r\n}<\/pre>\n<h3><strong>Step 4: Add a Ribbon Button for Easy Access:<\/strong><\/h3>\n<p>Provide end users with a simple \u201cGenerate Link\u201d button on the ribbon so they can share records instantly.<strong><br \/>\n<\/strong><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42257\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1919\" height=\"832\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365.png 1919w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365-300x130.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365-1024x444.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365-768x333.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365-1536x666.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/2Simplifying-Collaboration-in-Dynamics-365-660x286.png 660w\" sizes=\"(max-width: 1919px) 100vw, 1919px\" \/><\/p>\n<p><strong>Security of Shared Record Links in Dynamics 365:<br \/>\n<\/strong><strong><br \/>\n<\/strong>The link created by the GenerateSharedLink Action contains two main parts:<\/p>\n<ul>\n<li><strong>shareLink<\/strong> \u2192 Encodes the record information to uniquely identify the record being shared.<\/li>\n<li><strong>sig (signature)<\/strong> \u2192 A unique cryptographic code that validates the integrity of the link and ensures it remains trustworthy.<\/li>\n<\/ul>\n<p>When a user clicks the link, Dynamics 365\/Dataverse validates the signature and grants access to the record. This ensures that only links generated through the system are trusted, making the sharing process both secure and reliable.<\/p>\n<p><strong>If either value is changed, the link becomes invalid. Before granting access, Dynamics 365 verifies the signature to confirm the link\u2019s authenticity and maintain security.<\/strong><\/p>\n<p>The link we receive from the request is only a partial link. To make it usable, we build the complete URL in our ribbon script by combining the link with the required base path. This ensures the final URL is valid and allows the user to navigate directly to Dynamics CRM and access the shared record.<\/p>\n<h3><strong>Use Case Example <\/strong><strong>of Shared Record Links in Dynamics 365<\/strong><strong>:<\/strong><\/h3>\n<ul>\n<li>Imagine a scenario where there is a Contact record named Kevin Martin in Dynamics 365. Courtney Larabee is the owner of this record, and her colleague Brad needs to collaborate on it. However, Brad currently does not have access.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42258\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1920\" height=\"894\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365.png 1920w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365-300x140.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365-1024x477.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365-768x358.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365-1536x715.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/3Simplifying-Collaboration-in-Dynamics-365-660x307.png 660w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<ul>\n<li>Brad doesn\u2019t have access to the record.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42259\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1920\" height=\"892\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365.png 1920w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365-300x139.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365-1024x476.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365-768x357.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365-1536x714.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/4Simplifying-Collaboration-in-Dynamics-365-660x307.png 660w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<ul>\n<li>Courtney clicks the <strong>\u201cGenerate Link\u201d<\/strong> button, gets a URL, and sends it to Brad.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42260\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1920\" height=\"891\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365.png 1920w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365-300x139.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365-1024x475.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365-768x356.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365-1536x713.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/5Simplifying-Collaboration-in-Dynamics-365-660x306.png 660w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42261\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1920\" height=\"892\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365.png 1920w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365-300x139.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365-1024x476.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365-768x357.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365-1536x714.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/6Simplifying-Collaboration-in-Dynamics-365-660x307.png 660w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<ul>\n<li>When Brad clicks the link, he is redirected to Dynamics CRM. Once there, navigating to the Contacts, he can view the shared record.<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-42262\" style=\"border: 1px solid #000000; padding: 1px; margin: 1px;\" src=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365.png\" alt=\"Simplifying Collaboration in Dynamics 365\" width=\"1920\" height=\"887\" srcset=\"https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365.png 1920w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365-300x139.png 300w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365-1024x473.png 1024w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365-768x355.png 768w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365-1536x710.png 1536w, https:\/\/www.inogic.com\/blog\/wp-content\/uploads\/2025\/09\/7Simplifying-Collaboration-in-Dynamics-365-660x305.png 660w\" sizes=\"(max-width: 1920px) 100vw, 1920px\" \/><\/p>\n<p><strong>Key Takeaways:<\/strong><\/p>\n<ul>\n<li>Shared record links simplify CRM collaboration by removing manual permission steps.<\/li>\n<li>The GenerateSharedLink Action in Dynamics 365 CRM provides secure, shareable URLs.<\/li>\n<li>Teams save time, reduce dependency on admins, and boost productivity.<\/li>\n<\/ul>\n<h3><strong>FAQs related to <\/strong><strong>Shared Record Links in Dynamics 365<\/strong><\/h3>\n<ol>\n<li><strong> What is the GenerateSharedLink Action in Dynamics 365 CRM?<\/strong><br \/>\nIt\u2019s a feature that creates a secure, shareable link to a CRM record, giving colleagues instant access without manual permission assignments.<\/li>\n<li><strong> Are shared record links secure?<\/strong><br \/>\nYes. Each link has a unique cryptographic signature. If altered, the link becomes invalid.<\/li>\n<li><strong> Can I use shared record links outside my organization?<\/strong><br \/>\nNo. Links only work within your Dynamics 365 CRM environment and require authentication.<\/li>\n<li><strong> What\u2019s the difference between GenerateSharedLink and GrantAccessRequest?<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>GrantAccessRequest<\/strong> \u2192 Requires specifying users and rights manually.<\/li>\n<li><strong>GenerateSharedLink<\/strong> \u2192 Instantly creates a secure URL, no predefined user list needed.<\/li>\n<\/ul>\n<ol start=\"5\">\n<li><strong> How do shared record links help sales and service teams?<\/strong><br \/>\nThey allow faster collaboration, ensure records are never locked due to unavailable users, and improve customer response times.<\/li>\n<\/ol>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p>The GenerateSharedLink Action in Dynamics 365 CRM transforms record sharing. By replacing manual permissions with secure, one-click shareable links, businesses gain:<\/p>\n<ul>\n<li>Faster collaboration<\/li>\n<li>Reduced delays in decision-making<\/li>\n<li>Improved productivity and customer service<\/li>\n<\/ul>\n<p>If your team still struggles with manual record sharing in Dynamics 365 CRM, it\u2019s time to start using shared record links.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Dynamics 365, the traditional way of sharing records involves manually managing user and team permissions. But what if you could simply generate a secure link and share it, so that anyone who clicks on it instantly gets access to the record? Sounds interesting, right? Microsoft\u2019s GenerateSharedLink Action solves this problem by allowing users to\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.inogic.com\/blog\/2025\/09\/how-to-generate-shared-record-links-in-dynamics-365-crm-a-step-by-step-guide\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":15,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[16,2361],"tags":[3223],"class_list":["post-42255","post","type-post","status-publish","format-standard","hentry","category-dynamics-365","category-technical","tag-shared-record-links-in-dynamics-365-crm"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/42255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/comments?post=42255"}],"version-history":[{"count":0,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/posts\/42255\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/media?parent=42255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/categories?post=42255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inogic.com\/blog\/wp-json\/wp\/v2\/tags?post=42255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}