Skip to main content
Question

Salesforce ETL Step - Configuration Variable

  • March 10, 2025
  • 1 reply
  • 52 views

Forum|alt.badge.img+1

Is there an example of using the ‘Configuration Variable’ with A SOQL Query in an Update Variable Value Step?

https://support.docusign.com/s/document-item?language=en_US&bundleId=yks1643320936212&topicId=man1576610096178.html&_LANG=enus

Configuration Variable: Specifies an XML variable whose value contains a valid SOQL query describing the data to read from the Salesforce record. The variable’s value must also contain the schema of the output variable that stores the result. A configuration variable works similarly to a configuration document, except the XML variable’s value gets crafted directly in the workflow. In the Update Variable Value workflow step, you use an expression to craft the SOQL query. The step then assigns the query to an XML variable. Use a configuration variable when your query contains dynamic parameters. The parameters can be dynamically inserted into the SOQL query when using the expression. An example is a query with a WHERE clause that uses a data point whose value might change for each workflow.

The ETL step keeps failing; what would the Update Variable Value step look like?

1 reply

Forum|alt.badge.img+6
  • Docusign Employee
  • 35 replies
  • March 11, 2025

Hi ​@Jayme D,

It’s recommended to use the Doc Gen form as it’s easier to configure and easier to maintain for customers.

However, if you can’t use the Doc Gen form, here is an example of what the XML file would look like (this example is for querying for data on the Salesforce user object):

<EtlConfig>
    <OutputClass type='ADEXS.Etl.Visitors.FormMappingVisitor, ADEXS.Etl' />
    <Container targetIdentifier='Root'>
        <Container displayName='Custom' type='repeating' targetIdentifier='User' objectType='Composite' sourceIdentifier="Query|UserInfo|SELECT Id, FirstName, LastName FROM User where Email = 'kgatling@docusign.com'" extractionSourceId='SalesforceUser'>
            <Field displayName='UserId' targetIdentifier='UserId' objectType='Text' sourceIdentifier='UserInfo.Id' extractionSourceId='SalesforceUser' />
            <Field displayName='UserFirstName' targetIdentifier='UserFirstName' objectType='Text' sourceIdentifier='UserInfo.FirstName' extractionSourceId='SalesforceUser' />
            <Field displayName='UserLastName' targetIdentifier='UserLastName' objectType='Text' sourceIdentifier='UserInfo.LastName' extractionSourceId='SalesforceUser' />
        </Container>
    </Container>
</EtlConfig>

 

Store this value in a variable. I do this by saving as an XML file, adding XML file to the CLM account and using a Find Document step to find the XML file and store it in a variable. 

Some details:

extractionSourceId (required)
The name of the Salesforce API object name that the query is reading data from. Must have the word Salesforce prepended e.g. to retrieve data from Organization, use SalesforceOrganization

targetIdentifier (required)
Name of the XML node for the Query Results 

displayName (not required)
The value of the display name attribute added to the target identifier xml node

Type (required)
For the purpose of custom SOQL this should be set to repeating so it will return all results from the query 
objectType (required)
This by default is set to Composite 

Hope this helps!
Kelly