{"id":1364,"date":"2017-11-08T18:16:40","date_gmt":"2017-11-08T18:16:40","guid":{"rendered":"http:\/\/zappysys.com\/blog\/?p=1364"},"modified":"2026-02-04T10:35:39","modified_gmt":"2026-02-04T10:35:39","slug":"how-to-run-an-ssis-package-with-sensitive-data-on-sql-server","status":"publish","type":"post","link":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/","title":{"rendered":"How to parameterize properties in SSIS package and configure them in a SQL job"},"content":{"rendered":"<h2><span id=\"Deployment_to_Production\">Introduction<\/span><\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2223 alignleft\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png\" alt=\"\" width=\"90\" height=\"90\" \/>In this article, we will cover the steps of how to run an SSIS package with sensitive data on SQL Server.<\/p>\n<p>In an SSIS package\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/integration-services\/security\/access-control-for-sensitive-data-in-packages\" target=\"_blank\" rel=\"noopener\">sensitive data such as tokens and passwords are by default encrypted by SSIS<\/a>\u00a0with your Windows account which you use to create a package. So if <em>ProtectionLevel<\/em> of a package is set to <em>EncryptSensitiveWithUserKey<\/em> (or <em>DontSaveSensitive<\/em>), SSIS will fail to decrypt tokens\/passwords, when you run it from another machine using another Windows account. To circumvent this, when you are creating an SSIS package that uses authentication components (e.g. an\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/ssis-oauth-connection-manager.htm\" target=\"_blank\" rel=\"noopener\">OAuth Connection Manager<\/a>\u00a0or an\u00a0<a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/ssis-http-connection-manager.htm\" target=\"_blank\" rel=\"noopener\">HTTP Connection Manager<\/a>\u00a0with credentials, or any other component that uses sensitive data), consider using parameters\/variables to pass tokens\/passwords to the package. In this way, you won\u2019t face authentication-related errors when the package is deployed to a production server. Below you will find out the ways how to parameterize and configure parameters when running an SSIS package in a SQL Job.<\/p>\n<h2>Is it necessary to parameterize all the authentication details\/credentials?<\/h2>\n<p>No. You just need to parameterize those properties that are needed in the process of authentication or making a request. For example, if you are using OAuth Connection Manager, you will need to parameterize <em>RefreshToken<\/em>, and <em>ClientSecret\u00a0<\/em>in the Authorization Code Grant (3-Legged Auth) authentication scenario. If you use Password Grant, you will need to parameterize the <em>Password<\/em> property as well. You do <span style=\"text-decoration: underline;\"><em>not<\/em><\/span> need to parameterize <em>AccessToken<\/em>, because it is generated using a\u00a0<em>RefreshToken.<\/em><\/p>\n<p>But you may consider parameterizing environment-specific properties such as URL, ClientID, UserName, and similar even if they are not encrypted by SSIS. You would need to do that when you work in one environment when developing and testing packages while in another in production, UAT, etc. For example, you would use one OAuth Application while developing but another in production &#8212; you would also need to parameterize ClientID and perhaps Authorize and Token URLs too.<\/p>\n<h2>How to parameterize an SSIS Connection Manager<\/h2>\n<p>Most often sensitive data is used by SSIS Connection Manager, in password, OAuth token, etc. properties. To pass a token or a password dynamically you will have to use a variable\/parameter together with expression. 2012 and above versions of Visual Studio or BIDS have a nice way to do it, while in Visual Studio 2008 you will have to set it up manually. Another way is to set sensitive data using <em>SSIS Package Configuration<\/em> file, which is applicable when you have enabled <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/integration-services\/packages\/deploy-integration-services-ssis-projects-and-packages\" target=\"_blank\" rel=\"noopener\">package deployment model<\/a>\u00a0(obsolete method).<\/p>\n<h3>Using parameters or\u00a0variables<\/h3>\n<p>Below you will learn how to set a property using a variable\/parameter together with an expression. If you are not sure, what property to set, check <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/ssis-connection-managers.htm\" target=\"_blank\" rel=\"noopener\">the documentation of connection managers<\/a> to find out.<\/p>\n<h4>Using a parameter<\/h4>\n<ol>\n<li>Right click on a Connection Manager and press <em>Parameterize<\/em>:\n<div id=\"attachment_2184\" style=\"width: 427px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2184\" class=\"wp-image-2184 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-parameterized-connection-manager-e1509641291182.png\" alt=\"Connection Manager parameterization\" width=\"417\" height=\"194\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-parameterized-connection-manager-e1509641291182.png 417w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-parameterized-connection-manager-e1509641291182-300x140.png 300w\" sizes=\"(max-width: 417px) 100vw, 417px\" \/><p id=\"caption-attachment-2184\" class=\"wp-caption-text\">Connection Manager parameterization<\/p><\/div><\/li>\n<li>Then select an appropriate property you want to parametrize, e.g. <span class=\"lang:default highlight:0 decode:true crayon-inline\">Password<\/span>, and give a name to the parameter. For <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/scr\/ssis-oauth-connection-manager.htm\" target=\"_blank\" rel=\"noopener\">OAuth Connection Manager<\/a> we will use\u00a0<span class=\"lang:default highlight:0 decode:true crayon-inline\">RefreshToken<\/span>.\n<div id=\"attachment_2229\" style=\"width: 514px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-connection-manager-variable-parameter-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2229\" class=\"wp-image-2229 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-connection-manager-variable-parameter-1.png\" alt=\"Parameterizing OAuth Connection Manager property &quot;RefreshToken&quot;\" width=\"504\" height=\"632\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-connection-manager-variable-parameter-1.png 504w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-connection-manager-variable-parameter-1-239x300.png 239w\" sizes=\"(max-width: 504px) 100vw, 504px\" \/><\/a><p id=\"caption-attachment-2229\" class=\"wp-caption-text\">Parameterizing OAuth Connection Manager property &#8220;RefreshToken&#8221;<\/p><\/div><\/li>\n<\/ol>\n<div class=\"su-note\"  style=\"border-color:#e5dd9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF7B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><strong>NOTE:\u00a0<\/strong>Applies to SQL Server 2012 and above.<\/div><\/div>\n<h4>Using a variable<\/h4>\n<p>Below is an example how to set any property of a Data Flow using an expression and a variable. You can do the same thing for a Connection Manager &#8211; just create a variable, find a property named <span class=\"lang:default highlight:0 decode:true crayon-inline\">Password<\/span>\u00a0or <span class=\"lang:default highlight:0 decode:true crayon-inline\">RefreshToken<\/span>, etc. and use that variable to set its value:<\/p>\n<div class=\"content_block\" id=\"custom_post_widget-2159\"><ol style=\"margin-left: 0;\">\r\n \t<li>To define an expression for any property of a component, first navigate to the Data Flow designer surface.<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Change-Component-Property-at-runtime.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11511 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Change-Component-Property-at-runtime.png\" alt=\"SSIS DataFlow Expression - Change Component Property at runtime\" width=\"370\" height=\"374\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Change-Component-Property-at-runtime.png 370w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Change-Component-Property-at-runtime-297x300.png 297w\" sizes=\"(max-width: 370px) 100vw, 370px\" \/><\/a><\/li>\r\n \t<li>Now, right-click anywhere in the data flow designer surface and click the \"Properties\" menu item.<\/li>\r\n \t<li>When the Properties window appears, select a property and press the [...] button to set an expression.<\/li>\r\n \t<li>Now enter the property and expression you need.<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Edit-Component-Property-Expression.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-11512 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Edit-Component-Property-Expression.png\" alt=\"SSIS DataFlow Expression - Edit Component Property Expression\" width=\"920\" height=\"515\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Edit-Component-Property-Expression.png 920w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Edit-Component-Property-Expression-300x168.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/10\/SSIS-DataFlow-Expression-Edit-Component-Property-Expression-768x430.png 768w\" sizes=\"(max-width: 920px) 100vw, 920px\" \/><\/a><\/li>\r\n<\/ol><\/div>\n<h3>Using a configuration file (obsolete method)<\/h3>\n<p>So if you wanted to parameterize <span class=\"lang:default highlight:0 decode:true crayon-inline\">RefreshToken<\/span>\u00a0of <a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm\" target=\"_blank\" rel=\"noopener\">OAuth Connection Manager<\/a>, SSIS Package Configuration file would look like this:<\/p>\n<pre class=\"lang:default decode:true \">&lt;?xml version=\"1.0\"?&gt;\r\n&lt;DTSConfiguration&gt;\r\n    &lt;DTSConfigurationHeading&gt;\r\n        &lt;DTSConfigurationFileInfo GeneratedBy=\"ZappySys\\ZappySys\" GeneratedFromPackageName=\"-Sandbox-\" GeneratedFromPackageID=\"{152417C7-3764-4910-91E3-1D35C8FE89AE}\" GeneratedDate=\"2017-11-03 19:22:13\"\/&gt;\r\n    &lt;\/DTSConfigurationHeading&gt;\r\n    &lt;Configuration ConfiguredType=\"Property\" Path=\"\\Package.Connections[OAuth 1].Properties[RefreshToken]\" ValueType=\"String\"&gt;\r\n        &lt;ConfiguredValue&gt;real-refresh-token-value-goes-here&lt;\/ConfiguredValue&gt;\r\n    &lt;\/Configuration&gt;\r\n&lt;\/DTSConfiguration&gt;<\/pre>\n<h2>How to pass a variable\/parameter to an SSIS Connection Manager<\/h2>\n<h3>Executing a package from SSIS Catalog<\/h3>\n<p>When you are executing a package from SSIS Catalog to set a property you will have to use a <em>parameter<\/em>.<\/p>\n<ol>\n<li>Select <em>SQL Server Agent Job<\/em> and access its properties. Then select <span class=\"lang:default highlight:0 decode:true crayon-inline \">SSIS Catalog<\/span>\u00a0as <em>Package source<\/em> and select your package:\n<div id=\"attachment_2237\" style=\"width: 711px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-execute-package-configure.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2237\" class=\"wp-image-2237 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-execute-package-configure.png\" alt=\"Parameterizing OAuth Connection Manager property &quot;RefreshToken&quot;\" width=\"701\" height=\"630\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-execute-package-configure.png 701w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-execute-package-configure-300x270.png 300w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/a><p id=\"caption-attachment-2237\" class=\"wp-caption-text\">Running SSIS package from SSIS Catalog<\/p><\/div><\/li>\n<li>In <em>Configuration<\/em> tab parameter will be already present, so just click on <span class=\"lang:default highlight:0 decode:true crayon-inline\">[&#8230;]<\/span>\u00a0button and input your parameter value:<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-package-parameter-with-value-1.png\"><br \/>\n<\/a><\/p>\n<div id=\"attachment_2248\" style=\"width: 711px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-package-parameter-with-value-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2248\" class=\"wp-image-2248 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-package-parameter-with-value-1.png\" alt=\"Configuring parameter for SSIS package which is run from SSIS Catalog\" width=\"701\" height=\"630\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-package-parameter-with-value-1.png 701w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-package-parameter-with-value-1-300x270.png 300w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/a><p id=\"caption-attachment-2248\" class=\"wp-caption-text\">Configuring parameter for SSIS package which is run from SSIS Catalog<\/p><\/div><\/li>\n<\/ol>\n<div class=\"su-note\"  style=\"border-color:#e5dd9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF7B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><strong>NOTE:\u00a0<\/strong>Applies to SQL Server 2012 and above.<\/div><\/div>\n<h4>Using a parameter from SSIS Environment<\/h4>\n<p>Another way of passing a parameter when using SSIS Catalog is to use <em>Environment<\/em> parameter.<\/p>\n<ol>\n<li>Create an environment if you don&#8217;t have one already and access its properties:\n<div id=\"attachment_2284\" style=\"width: 733px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-create-environment-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2284\" class=\"wp-image-2284 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-create-environment-1.png\" alt=\"Creating and configuring SSIS Environment\" width=\"723\" height=\"312\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-create-environment-1.png 723w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-create-environment-1-300x129.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-create-environment-1-720x312.png 720w\" sizes=\"(max-width: 723px) 100vw, 723px\" \/><\/a><p id=\"caption-attachment-2284\" class=\"wp-caption-text\">Creating and configuring SSIS Environment<\/p><\/div><\/li>\n<li>Click <em>Variables<\/em> and create a parameter with appropriate type and don&#8217;t forget to check <span class=\"lang:default highlight:0 decode:true crayon-inline\">Sensitive checkbox<\/span>:\n<div id=\"attachment_2250\" style=\"width: 764px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-environment-variables-parameters-2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2250\" class=\"wp-image-2250 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-environment-variables-parameters-2.png\" alt=\"Creating a sensitive parameter in SSIS environment\" width=\"754\" height=\"505\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-environment-variables-parameters-2.png 754w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-environment-variables-parameters-2-300x201.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-environment-variables-parameters-2-272x182.png 272w\" sizes=\"(max-width: 754px) 100vw, 754px\" \/><\/a><p id=\"caption-attachment-2250\" class=\"wp-caption-text\">Creating a sensitive parameter in SSIS environment<\/p><\/div><\/li>\n<li>Then go to your SSIS Catalog project and click <span class=\"lang:default highlight:0 decode:true crayon-inline\">Configure<\/span>:<br \/>\n<a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-project.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2276\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-project.png\" alt=\"\" width=\"401\" height=\"162\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-project.png 401w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-catalog-configure-project-300x121.png 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/a><\/li>\n<li>Click <span class=\"lang:default highlight:0 decode:true crayon-inline\">References<\/span>\u00a0and <span class=\"lang:default highlight:0 decode:true crayon-inline\">Add<\/span>\u00a0button. Select the environment you had created in first step:\n<div id=\"attachment_2257\" style=\"width: 766px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-set-environment-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2257\" class=\"wp-image-2257 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-set-environment-1.png\" alt=\"Adding SSIS environment to SSIS Catalog project\" width=\"756\" height=\"505\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-set-environment-1.png 756w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-set-environment-1-300x200.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-set-environment-1-272x182.png 272w\" sizes=\"(max-width: 756px) 100vw, 756px\" \/><\/a><p id=\"caption-attachment-2257\" class=\"wp-caption-text\">Adding SSIS environment to SSIS Catalog project<\/p><\/div><\/li>\n<li>Then click <span class=\"lang:default highlight:0 decode:true crayon-inline\">Parameters<\/span>\u00a0and\u00a0 <span class=\"lang:default highlight:0 decode:true crayon-inline\">[&#8230;]<\/span>\u00a0 button on the parameter you want to set:\n<div id=\"attachment_2252\" style=\"width: 765px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2252\" class=\"wp-image-2252 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-2.png\" alt=\"Setting an environment variable for SSIS Catalog project\" width=\"755\" height=\"504\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-2.png 755w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-2-300x200.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-2-272x182.png 272w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><\/a><p id=\"caption-attachment-2252\" class=\"wp-caption-text\">Setting an environment variable for SSIS Catalog project<\/p><\/div><\/li>\n<li>The result should look similar to this:\n<div id=\"attachment_2235\" style=\"width: 765px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2235\" class=\"wp-image-2235 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter.png\" alt=\"Result after you configured SSIS Catalog project to use an environment variable\" width=\"755\" height=\"504\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter.png 755w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-300x200.png 300w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-with-environment-parameter-272x182.png 272w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><\/a><p id=\"caption-attachment-2235\" class=\"wp-caption-text\">Result after you configured SSIS Catalog project to use an environment variable<\/p><\/div><\/li>\n<li>Then in <em>SQL Server Agent Job<\/em>\u00a0properties, <span class=\"lang:default highlight:0 decode:true crayon-inline\">Configuration<\/span>\u00a0tab select the environment you created. Configured parameter will be set automatically:\n<div id=\"attachment_2256\" style=\"width: 711px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-parameter-using-environment-2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2256\" class=\"wp-image-2256 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-parameter-using-environment-2.png\" alt=\"Using environment variable in SQL Server Agent Job\" width=\"701\" height=\"629\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-parameter-using-environment-2.png 701w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configure-package-parameter-using-environment-2-300x269.png 300w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/a><p id=\"caption-attachment-2256\" class=\"wp-caption-text\">Using environment variable in SQL Server Agent Job<\/p><\/div><\/li>\n<\/ol>\n<h2>SSIS Sensitive Data Issue with OAuth Authentication<\/h2>\n<p>When working with OAuth-based connectors in SSIS (such as Dynamics CRM, Dataverse, or other Azure AD\u2013secured APIs), it\u2019s common to store credentials like <strong>Client ID<\/strong> and <strong>Client Secret<\/strong> inside SSIS variables or parameters.<\/p>\n<p>However, <strong>incorrect handling of sensitive data in SSIS can cause SQL Server Agent job failures<\/strong>, even when the package runs successfully in Visual Studio (SSDT). <\/p>\n<h3>SSIS Package Works in Visual Studio but Fails in SQL Server Agent<\/h3>\n<p>A common scenario occurs when an SSIS package executes without issues in Visual Studio, but fails when scheduled or executed via <strong>SQL Server Agent<\/strong>. <\/p>\n<p>In one real-world case, a Dynamics CRM connector was configured using OAuth authentication, and the following values were stored in SSISDB parameters:\n<\/p>\n<ul>\n<li>Application (Client) ID<\/li>\n<li>Client Secret<\/li>\n<\/ul>\n<p> When <strong>both parameters were marked as Sensitive<\/strong>, the package failed during SQL Agent execution, despite working correctly at design time.\n<\/p>\n<h3>Why Marking SSIS Variables as Sensitive Causes Job Failures<\/h3>\n<p>This behavior is <strong>not specific to ZappySys<\/strong>; it is a well-known SSIS limitation:<\/p>\n<ul>\n<li>SSIS encrypts values marked as <strong>Sensitive<\/strong><\/li>\n<li>Decryption depends on the execution context (user vs SQL Agent service account)<\/li>\n<li>Over-encrypting non-secret values can prevent successful runtime decryption<\/li>\n<\/ul>\n<p>This issue frequently appears when <strong>non-secret OAuth parameters<\/strong> are incorrectly marked as sensitive.<\/p>\n<h3>How to Store OAuth Client ID and Client Secret in SSIS Securely<\/h3>\n<p>For OAuth-based authentication in SSIS (Dynamics CRM, Dataverse, Azure AD APIs, etc.), use the following recommended configuration: <\/p>\n<table>\n<thead>\n<tr>\n<th>OAuth Parameter<\/th>\n<th>Mark as Sensitive?<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Client ID (Application ID)<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>Tenant ID<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>Authority \/ Resource URL<\/td>\n<td>No<\/td>\n<\/tr>\n<tr>\n<td>Client Secret<\/td>\n<td>Yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Only true secrets should be marked as Sensitive. <\/strong> The Client ID is not confidential and does not require encryption. <\/p>\n<h3>Best Practice: Use SSISDB Sensitive Parameters Instead of SSIS Variables<\/h3>\n<p>To avoid SQL Agent execution issues, always use <strong>SSIS Catalog (SSISDB) parameters<\/strong> for sensitive values: <\/p>\n<ol>\n<li>Deploy the package to <strong>SSISDB<\/strong><\/li>\n<li>Convert connection properties into <strong>Project or Package Parameters<\/strong><\/li>\n<li>Mark <strong>only sensitive values<\/strong> (such as Client Secret) as Sensitive<\/li>\n<li>Assign values through <strong>SSISDB Environments<\/strong><\/li>\n<\/ol>\n<p>SSISDB encrypts sensitive parameters securely and allows SQL Server Agent to decrypt them correctly at runtime. <\/p>\n<p>For detailed steps, refer to the official documentation: <br \/>\n<a href=\"https:\/\/zappysys.com\/onlinehelp\/ssis-powerpack\/index.htm#page=ssis-parameterization.htm\" target=\"_blank\" rel=\"noopener\"><br \/>\nSSIS Parameterization Guide for ZappySys Connectors<\/a><\/p>\n<h3>Common Mistakes When Handling Sensitive Data in SSIS<\/h3>\n<ul>\n<li>Marking Client ID or Tenant ID as Sensitive<\/li>\n<li>Using SSIS variables marked as Sensitive instead of SSISDB parameters<\/li>\n<li>Assuming all OAuth fields require encryption<\/li>\n<\/ul>\n<h3>SSIS Sensitive Data and SQL Agent Execution: Key Takeaways<\/h3>\n<ul>\n<li>SQL Server Agent failures often occur due to incorrect Sensitive parameter configuration<\/li>\n<li>OAuth connectors typically require only the Client Secret to be protected<\/li>\n<li>Proper SSISDB parameterization ensures reliable scheduled execution<\/li>\n<\/ul>\n<blockquote><p>\n<strong>Pro Tip:<\/strong> If your SSIS package runs in Visual Studio but fails in SQL Server Agent,<br \/>\nreview which parameters are marked as Sensitive before troubleshooting the connector itself.\n<\/p><\/blockquote>\n<h3>Executing a package from a File system \/ SSIS Package Store \/ SQL Server<\/h3>\n<p>When you are executing a package from a File system \/ SSIS Package Store or SQL Server you will have to use a <em>variable <\/em>(parameters won&#8217;t work).<\/p>\n<div class=\"su-note\"  style=\"border-color:#e5dd9d;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><div class=\"su-note-inner su-u-clearfix su-u-trim\" style=\"background-color:#FFF7B7;border-color:#ffffff;color:#333333;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;\"><strong>NOTE: <\/strong>Be aware that to pass sensitive data in this way is not safe because it is visible to everyone. Consider <a href=\"#Executing_a_package_from_SSIS_Catalog\">executing a package from SSIS Catalog<\/a> and using sensitive parameters.<\/div><\/div>\n<h4>Using variables in SQL Server Agent Job configuration<\/h4>\n<p>You can pass a variable in SQL Server Agent Job properties in <span class=\"lang:default highlight:0 decode:true crayon-inline\">Set values<\/span>\u00a0tab:<\/p>\n<div id=\"attachment_2298\" style=\"width: 712px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-package-variables-passing-in-sql-server-agent-3.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2298\" class=\"wp-image-2298 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-package-variables-passing-in-sql-server-agent-3.png\" alt=\"Using a variable in SQL Server Agent Job\" width=\"702\" height=\"630\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-package-variables-passing-in-sql-server-agent-3.png 702w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-package-variables-passing-in-sql-server-agent-3-300x269.png 300w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/a><p id=\"caption-attachment-2298\" class=\"wp-caption-text\">Using a variable in SQL Server Agent Job<\/p><\/div>\n<h4>Using a configuration file in SQL Server Agent Job configuration<\/h4>\n<p>You can pass configuration file in SQL Server Agent Job properties in <span class=\"lang:default highlight:0 decode:true crayon-inline\">Configurations<\/span>\u00a0tab:<\/p>\n<div id=\"attachment_2268\" style=\"width: 712px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configuration-file.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-2268\" class=\"wp-image-2268 size-full\" src=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configuration-file.png\" alt=\"Using a package configuration file in SQL Server Agent Job\" width=\"702\" height=\"630\" srcset=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configuration-file.png 702w, https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/ssis-configuration-file-300x269.png 300w\" sizes=\"(max-width: 702px) 100vw, 702px\" \/><\/a><p id=\"caption-attachment-2268\" class=\"wp-caption-text\">Using a package configuration file in SQL Server Agent Job<\/p><\/div>\n<h2>Resources<\/h2>\n<ul>\n<li><a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/integration-services\/security\/access-control-for-sensitive-data-in-packages\" target=\"_blank\" rel=\"noopener\">Microsoft article about Package Protection Level<\/a>.<\/li>\n<li><a href=\"https:\/\/www.hansmichiels.com\/2016\/11\/19\/using-sensitive-parameters-ssis-series\/\" target=\"_blank\" rel=\"noopener\">Using sensitive parameters (SSIS series)<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this article, we will cover the steps of how to run an SSIS package with sensitive data on SQL Server. In an SSIS package\u00a0sensitive data such as tokens and passwords are by default encrypted by SSIS\u00a0with your Windows account which you use to create a package. So if ProtectionLevel of a package is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2223,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,204,205,8,11],"tags":[249,36,60,248,254,253],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>How to parameterize properties in SSIS package and configure them in a SQL job | ZappySys Blog<\/title>\r\n<meta name=\"description\" content=\"Learn how to run an SSIS package with sensitive data on SQL Server. Use parameters or variables with expressions to parameterize any Connection Manager.\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"How to parameterize properties in SSIS package and configure them in a SQL job | ZappySys Blog\" \/>\r\n<meta property=\"og:description\" content=\"Learn how to run an SSIS package with sensitive data on SQL Server. Use parameters or variables with expressions to parameterize any Connection Manager.\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/\" \/>\r\n<meta property=\"og:site_name\" content=\"ZappySys Blog\" \/>\r\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/ZappySys\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2017-11-08T18:16:40+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-02-04T10:35:39+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png\" \/>\r\n\t<meta property=\"og:image:width\" content=\"150\" \/>\r\n\t<meta property=\"og:image:height\" content=\"150\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\r\n<meta name=\"author\" content=\"ZappySys\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/zappysys\/\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ZappySys\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/\",\"url\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/\",\"name\":\"How to parameterize properties in SSIS package and configure them in a SQL job | ZappySys Blog\",\"isPartOf\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png\",\"datePublished\":\"2017-11-08T18:16:40+00:00\",\"dateModified\":\"2026-02-04T10:35:39+00:00\",\"author\":{\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\"},\"description\":\"Learn how to run an SSIS package with sensitive data on SQL Server. Use parameters or variables with expressions to parameterize any Connection Manager.\",\"breadcrumb\":{\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#primaryimage\",\"url\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png\",\"contentUrl\":\"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/zappysys.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to parameterize properties in SSIS package and configure them in a SQL job\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/zappysys.com\/blog\/#website\",\"url\":\"https:\/\/zappysys.com\/blog\/\",\"name\":\"ZappySys Blog\",\"description\":\"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/zappysys.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82\",\"name\":\"ZappySys\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g\",\"caption\":\"ZappySys\"},\"sameAs\":[\"http:\/\/www.zappysys.com\/\",\"https:\/\/www.facebook.com\/ZappySys\/\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/\"],\"url\":\"https:\/\/zappysys.com\/blog\/author\/admin\/\"}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to parameterize properties in SSIS package and configure them in a SQL job | ZappySys Blog","description":"Learn how to run an SSIS package with sensitive data on SQL Server. Use parameters or variables with expressions to parameterize any Connection Manager.","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:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/","og_locale":"en_US","og_type":"article","og_title":"How to parameterize properties in SSIS package and configure them in a SQL job | ZappySys Blog","og_description":"Learn how to run an SSIS package with sensitive data on SQL Server. Use parameters or variables with expressions to parameterize any Connection Manager.","og_url":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/","og_site_name":"ZappySys Blog","article_author":"https:\/\/www.facebook.com\/ZappySys\/","article_published_time":"2017-11-08T18:16:40+00:00","article_modified_time":"2026-02-04T10:35:39+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png","type":"image\/png"}],"author":"ZappySys","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/zappysys\/","twitter_misc":{"Written by":"ZappySys","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/","url":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/","name":"How to parameterize properties in SSIS package and configure them in a SQL job | ZappySys Blog","isPartOf":{"@id":"https:\/\/zappysys.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#primaryimage"},"image":{"@id":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#primaryimage"},"thumbnailUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png","datePublished":"2017-11-08T18:16:40+00:00","dateModified":"2026-02-04T10:35:39+00:00","author":{"@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82"},"description":"Learn how to run an SSIS package with sensitive data on SQL Server. Use parameters or variables with expressions to parameterize any Connection Manager.","breadcrumb":{"@id":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#primaryimage","url":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png","contentUrl":"https:\/\/zappysys.com\/blog\/wp-content\/uploads\/2017\/07\/how-to-180x180.png","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/zappysys.com\/blog\/how-to-run-an-ssis-package-with-sensitive-data-on-sql-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/zappysys.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to parameterize properties in SSIS package and configure them in a SQL job"}]},{"@type":"WebSite","@id":"https:\/\/zappysys.com\/blog\/#website","url":"https:\/\/zappysys.com\/blog\/","name":"ZappySys Blog","description":"SSIS \/ ODBC Drivers \/ API Connectors for JSON, XML, Azure, Amazon AWS, Salesforce, MongoDB and more","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/zappysys.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/2756c237457fbc95d82cb38962f81f82","name":"ZappySys","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/zappysys.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c9be148088ba9b8af8e955c5f7c22b5?s=96&d=mm&r=g","caption":"ZappySys"},"sameAs":["http:\/\/www.zappysys.com\/","https:\/\/www.facebook.com\/ZappySys\/","https:\/\/twitter.com\/https:\/\/twitter.com\/zappysys\/"],"url":"https:\/\/zappysys.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/1364"}],"collection":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/comments?post=1364"}],"version-history":[{"count":79,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/1364\/revisions"}],"predecessor-version":[{"id":11685,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/posts\/1364\/revisions\/11685"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/media?parent=1364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/categories?post=1364"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zappysys.com\/blog\/wp-json\/wp\/v2\/tags?post=1364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}