Contact Permissions, Output Elements, and WordFly...

Is anyone out there using Contact Permissions as part of a WordFly output set (to keep WordFly in sync with what's in Tessitura?)  We are on v15.1.4 and I'm onboarding a new consortium organization with WordFly and they're the first ones to try to use Contact Permissions...but if I put the Contact Permission elements into the Output Set, the "could have multiple rows" indicator shows up so WordFly doesn't recognize the output set (at least, I *think* that's why I can't see it in WordFly but I'm not positive that's the reason.)

Any tips/tricks/troubleshooting help you can provide is greatly appreciated.  

Thank you!

  • Hi Mindee,

    In order to sync data between Tessitura and Wordfly you will need to create some new output elements. We do not participate in a Consortium, but we do have Wordfly and 3 times a week we update our Wordfly preferences with the latest Contact Permissions from Tessitura. This is necessary because updates are pushed from Wordfly to Tessitura but not the other way, so these need to be updated by importing any changes made in the client to the Wordfly servers. 

    Create a new keyword category in TR_KEYWORD_CATEGORY, e.g. ‘Contact Permissions’.

    Then for each unique email permission you will need to create an entry in TR_QUERY_ELEMENT_GROUP, e.g. (select a.customer_no, a.answer, case a.answer when 'Y' then 1 when 'N' then 0 end as [PreferenceValue] from [TX_CUST_CONTACT_PERM_TYPE] a where a.type_id = 5).

    This is necessary because Wordfly uses the binary values of 1 for Yes, or 0 for No, as opposed to ‘Y’ or ‘N’ in Tessitura.

    Also create a new entry in TR_QUERY_ELEMENT for each unique email permission with the select data field set as ‘isnull(!.PreferenceValue, 0)’, you should then also select the corresponding control group.  

    In List Manager now create a list for every Contact Permission type, including both ‘yes’ and ‘no’ values, and export them with the new output sets created above.

    You will now get a list of Constituent IDs with either a ‘0’ or ‘1’ value that can be imported into Wordfly to update any inconsistent Customer Preferences.

    I hope this all makes sense?

  • It makes perfect sense and I cannot tell you how much I appreciate this. It fills in the blanks in the WordFly documentation that I just couldn’t wrap my head around. 
    I actually built new elements and output sets yesterday to see if I could get them into WordFly but didn’t link up with marketing in time to test it. This assures me we are on the right track Grinning

  • That's great. Please feel free to update this thread if you have any further questions Slight smile

  • Hi, Matt, 

    I sincerely hope I'm not about to make you sorry you said "Feel free" up there ^ but... any thoughts on why my LP_Update_Email_Promotion code isn't doing what I hoped? I'm trying to get the "Unsubscribe" response to update the Contact Permissions to "No" and I'm flat out of ideas about why it isn't working?  The Return is definitely commented out (this is the same procedure that updates other consortium orgs' responses as attributes, no problem) but it is definitely not updating TX_CUST_CONTACT_PERM_TYPE so I'm at a loss.

    Here's the code in case you have any idea where I went wrong:

    If @response_code = 26
    Begin
    If Exists (Select * from tx_cust_contact_perm_type where customer_no = @customer_no and type_id = 9)
    Update tx_cust_contact_perm_type

    set answer = 'N', last_asked_dt = GETDATE()
    where customer_no = @customer_no and type_id = 9

    Else
    Insert tx_cust_contact_perm_type(answer, customer_no, last_asked_dt, type_id)
    Select 'N', @customer_no, GETDATE(), 9
    End

  • Hi Mindee,
    No problem <![if !vml]>https://community.tessituranetwork.com/cfs-file/__key/system/emoji/1f642.svg<![endif]>

    Your code looks very similar to ours, which works as expected, for example:

    IF @response_code = 5

    BEGIN    

    if exists (select 1 from TX_CUST_CONTACT_PERM_TYPE where customer_no = @customer_no and [type_id] = 1)

           begin

                  update TX_CUST_CONTACT_PERM_TYPE

                  set    [answer] = 'N',

                         last_asked_dt = getdate()

                  where  customer_no = @customer_no and

                               [type_id] = 1

           end

           else

           begin 

                  insert into   TX_CUST_CONTACT_PERM_TYPE ([answer], customer_no, last_asked_dt, [type_id])

                  select 'N',

                               @customer_no,

                               getdate(),

                               1

           End

    My only question would be to check your response code, as the system default is 5, and I notice yours is 26?

    We do have a similar issue to you though, in the sense that our hard bounces are not being updated (response code 2), even though they are correctly recorded in Tessitura, my custom code is not triggered. If I trigger this manually it works correctly. In the meantime I am updating hard bounces manually, as we don’t get many. Have you tried running your code manually? I have a script that allows you to do this, if you would like me to dig through my files and find this, let me know if it would be of use? This will at least check that your code works.

    You may get 3 similar replies from me on the forum, it didn’t seem to be posting earlier.

     
     
     
  • Hi, Matt - 

    That "26" is because each member of the consortium that uses WordFly has their own response code.  We finally got it to write back the Unsubscribe correctly but now I'm struggling with trying to use a combination of Contact Permissions and Contact Point Purposes with the WordFly "Preferences" feature.  It works, but I'm not happy with *how* so we're trying to tweak our messaging to work around it. 

    But what I'm wondering is...maybe I ought to tweak LP_WF_PREFERENCE_UPDATE_CUSTOMER instead?  Does anyone know whether it's *legal* to set a contact permission to "Yes" if, when facing the "don't unsubscribe, just update your preferences," landing page, they choose to update instead of confirm the unsubscribe?  If that's not forbidden, I wonder if I can basically add the preference update code to the purpose update code section?