I am using this to show caller name and langu...

expressions
(Tammi Canelli) #1

I am using this to show caller name and language, using a virtual column, based off two table columns:

=CONCATENATE([CallerName], ’ ', “(”,[Languages],")")

Now I want to add to this expression and IN or OUT based off the sign in and out timestamps.

end result should be: Tammi Canelli () IN or Tammi Canelli () OUT

I can get this to happen using a virtual column and it updates the status when someone signs out but only in the caller sign in table.

The column in the evac table that holds the valid if statement does not update/refresh - it remains static with whatever the initial info was upon sign in.

How can I get the caller status to update from one table to another?

(Tammi Canelli) #2

Got this to work on the main sign in table… but…

(Tammi Canelli) #3

it isn’t updating on the evac table.

the evac table uses a valid if (for the dependent dropdown) that is the result of the concatenated expression above.

when a language is added during sign in the language appears and updates in the () without issue.

Any idea why the IN/OUT won’t update on this view but does on the other?

(Tammi Canelli) #4

I do already have a sign out action for table A.

it’s just a reg data set action - am i turning this into the execute action on a set of rows?

so not the 3 steps i screen shotted above?

(Tammi Canelli) #5

Just to clarify here are the actions I have (some of which are pictured above):

Employee sign out - table a (caller sign in) - data set value

send record back for reassignment - table a (caller sign in) - execute action on set of rows

Unassign caller - table b (evac) - data set value

then i have a change data workflow:

target data - caller sign in

using the send record back action.

(Santiago) #6

This looks correct to us. Just to make sure, what are you using to identify the row in Table B that you’ll change using the Unassign caller action?

The send record back to reassignment action is the one that would have the expression that finds the rows. It can be something as simple as LIST([Column with the key value you want to change), or more complex by using a SELECT() expression to find the right key value from Table B.

(Tammi Canelli) #7

Do I need to group the two actions for the caller table? Not really sure I understand your question.

(Santiago) #8

@Tammi_Canelli I think you’ll want to group everything in sequence after the user signs out. But each individual action should work.

My question is if you can share the expression you used in “send record back to reassignment action” that expression is the one that finds the row in table B to change.

(Tammi Canelli) #9

This is the expression used in the valid if col that is populating the col

(Santiago) #10

In the Referenced Rows section, you need an expression that only finds the rows that you want to change. So is there only one row in Table B for each person signing out? If it’s only one row, you need to write an expression that produces the key value of that row.

For example if the key value in Table B is the email of the app user, or the name. And that name is also available in Table A when they sign-out, then a Referenced Rows expression that looks like this LIST([Column or expression that would find and contains the key value from Table B])

(Tammi Canelli) #11

@Santiago I know we are going to try and talk on Monday, but I wanted to get you this.

Pics of both tables so you can see what fields I have, which are the key columns, and what I’m trying to change.

Here is Table A - the highlighted column below is what is being used to populate the CallerName column in Table B.

(Tammi Canelli) #12

The CallerName column below is what I’m trying to update based on the Table A’s sign out.

Have a good weekend.

(Santiago) #13

Hi @Tammi_Canelli to clarify, is your goal to update an existing row in another table or to add a new row in another table?

We can update existing rows in other tables through the product and currently the only way to add a row to another table would be using something like Zapier to add the row.

If you are updating a value in the other column, have you tried the “Execute an action on a set of rows” option in Actions?

(Tammi Canelli) #14

It is an update to an existing row in one table based on info that changed in a other table.

The data in the dropdown does update as people sign in and out but the data that had been previously recorded doesn’t update and I’m not sure how to create an action that looks at a diff table.

not sure any of that made sense

(Tammi Canelli) #15

@Santiago I’m looking at the execute action now - never used it before.

Can you clarify which direction i’m going…

caller sign in - we’ll call table A evac record - table B

Table B has the valid if expressions referencing back to table A

so in the action setup:

For a record of this table: - is that table A or B

referenced table: - this would A?

I’m so confused…

(Tammi Canelli) #16

ok, here

is what i’ve attempted but i’m afraid to test it out.

When a caller signs out (tblcallersignin),

Data set Caller Name to “” (blank) in (tblevacrec).

This action should move the record from the caller assignment view back to the unassigned caller view.

(Tammi Canelli) #17
(Tammi Canelli) #18
(Tammi Canelli) #19

Well audit log said success but it didn’t remove the caller name in the evac table:

Properties:

{

“AppTemplateName”: “MDPOutboundCallsSCGdbMDP-589363”,

“AppId”: “bb792b42-973b-455c-b119-d2f1582ead52”,

“AppTemplateVersion”: “1.000488”,

“RuleName”: “Unassign Caller Test”,

“EventType”: “Change”,

“Operation”: “Change workflow rule”,

“RuleEvalMode”: “Production”,

“TableName”: “dbo.CallerSignIn”,

“RuleTableName”: “dbo.CallerSignIn”,

“OperationUpdateMode”: “UPDATES_ONLY”,

“EventMatch”: “Workflow event successfully matched”,

“Condition”: “=AND(ISNOTBLANK([SignOutTimestamp]), ISNOTBLANK([SignInTimestamp]))”,

“MatchesCondition”: “True”,

“Actions”: “Created 1 Actions”,

“Result”: “Success”,

“Performance”: “{“Version”:1,“Time”:“00:00:00”,“PerformanceTimingRoot”:{“Mid”:154,“Params”:{“ParamList”:[{“Pid”:13,“Value”:“dbo.CallerSignIn”}]},“Timer”:{“Time”:“00:00:00”},“Children”:[]}}” }

(Santiago) #20

Hi Tammi, so you’ll want to create an action in Table A that updates a record in Table B

You’ll then the use that action in a workflow or as the action that triggers after saving a form.

So it looks (to me) a bit like this:

Caller will select an option in the app called Signout, this updates the value in Table A (tblcallersignin)

A workflow rule is triggered by the change. The workflow triggers an action that in turn changes the value of that caller in Table B (evac record) to the value you need (I guess it makes them available again).