Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Chained app not forwarding updated results of macro within app

asteryx
8 - Asteroid

Hi All - I've got some very helpful advice on this project so far, but have still run into an obstacle...(see this question)

 

I am building a workflow that does a dynamic lookup into Salesforce for a specific list of IDs - hoping to make an easy way to quickly query a subset of SF data.

I have one step that works in isolation, but does not update properly when the chain runs from the start.

 

I have multiple links in a chain of analytics apps so I can accept user choices and then use them to request further input down the chain. I've learned that if one drop down list, for example, depends on prior user selections, I have to put the prior request in a separate app so the later list can be populated from an updated source. Here's a high-level description of the whole thing:

 

Step 1: present user a list of instances and get user input for Instance (A or B) (We have more than one Salesforce instance (org));

 - store input to be used as data input for Step 2 "SFSelect.yxdb"

 - store list based on input to use as source of drop down in Step 2 "SFSelectlist.yxdb"

 - This step is working

 

Step 2: present user a list of tables and get user selection for table (SF object) to be queried

 - store table name input for Step 3 "SFSelectTable.yxdb"

 - (option list is stored in file ahead of time as I can't figure out how to get Salesforce connector to output table name list)

 - This step is working

 

Step 3: present user a list of fields in selected table and get user input for Select list and one field for Where clause, if any

 - via Salesforce macro called by app: connect to Salesforce and capture field list for table specified

 - macro output is stored by app in "SFFieldlist.yxdb"

 - This step works when I run the app in Test View by itself, but it doesn't refresh the output when I run the chain from Step 1

 - The Salesforce connector only has [Q] and [lightning bolt] input, so it must be updated by parameters, which is why I run a macro here. I can't see how to turn it into another app in the chain.

 

Step 4: Construct a valid query to send to Salesforce

 - build concatenated list of values provided for "in" portion of where clause

 - add 'where field' (from user input) to where clause

 - build concatenated list of values provided for select field list

 - add select from table name

 - build complete query

 - via Salesforce macro: send connection info and query to get desired output

 - This step is working (but errors due to bad field list)

 

Here's a pic of the essential section of my Salesforce macro:

AlteryxMacro.PNG

And I've attached the analytics app that is failing.

 

Thanks for any help!

2 REPLIES 2
SydneyF
Alteryx Alumni (Retired)

Hi @asteryx,

 

Can you please try exporting the analytic app you attached and posting the exported copy so that we can take a look at your input(s) and how the macro is configured? You can export a workflow in Designer by navigating to Options > Export Workflow. 

 

Thanks!

asteryx
8 - Asteroid

Thanks very much for following up on this request.

Happily, just 20 minutes before you responded I solved my own problem.

 

I did a lot of fiddling, but I think the change that made it work was to run the results from the macro back to the calling app as macro output and then sending the results to the yxdb.

 

I've also improved the overall workflow: I combined the first two steps using a Tree Interface tool (see advice here: https://community.alteryx.com/t5/Alteryx-Knowledge-Base/Configure-a-Workflow-to-use-a-Tree-Interface...@PeterS ) since I already had the list of tables associated with each of my Salesforce instances. I wish there were a way to read the tables in an instance using the Salesforce connector. If anybody has a solution for that, I'd be grateful!

 

Another awkward part is that because I connect to Salesforce twice (get the field list, then run the ultimate query), I have to input the user password (and token) twice, unless I want to store those in a file, which I can't do.

Labels