Salesforce Marketing cloud JB Check if record exists in DE - salesforce-marketing-cloud

In one of our clients, in the lower crm salesforce environments (DEV and TEST) there exists real data. This is not correct and data should be masked. We are looking in it but will take time due to different team maintain different part of ecosystem.
Salesforce CRM call JB using Api event entry source. In the request message , we have tag called as "Enviroment" --> Possible values (PROD,TEST)
We have a DE in SFMC called TestEmail which contain all internal tester's email address
We want in Journey , if the Enviroment == TEST, the journey should check if recipient email address exists in TestEmail DE. If it exist, then sent the email
If it doesn't then stop.
Possible options I tried and don't think will work in our situation
Custom decision split
Using exit criteria
Adding RaiseError to email ampscript.
Except these is there any clean way to achieve it.

It seems to me that the solution you mentioned is the only solution to test the journey.
The best solution would be to solve this at the source, meaning to spend the effort to mask the data in your test and dev environment. In general I believe that is the way to go, since you want to avoid sending any test messages to real clients. The simplest way to mask the data would be to use different subscriber keys and email adreses.

Related

How to transfer Google Cloud project ownership from MyEmail#mydomain.com to myemail#mydomain.com?

For years, I've been using the email addresses MyEmail#mydomain.com and myemail#mydomain.com as if they are identical. And most of the time this is true. However now the OAuth verification process for the project seems to be failing because Google treats these as two separate identities.
The GCP project owner is MyEmail#mydomain.com. In the OAuth consent screen, I've set mydomain.com as the sole authorized domain for my app. And I use myemail#mydomain.com as my identity in Google Search Console when verifying that I am the owner of mydomain.com.
I got an email from the "The Google Cloud Trust & Safety Team", saying that the owner of the GCP project and the identity of the owner of the authorized domain do not match! The only reason for this seems to be the case of the email names, because everything else appears set up properly.
MY QUESTION: How can I change the GCP project owner from MyEmail#mydomain.com to myemail#mydomain.com?
It seems that I need to change one or the other. I would rather change the GCP owner to myemail#mydomain.com. But I can not get that to happen. I followed the instructions in Grant or Revoke Role.
I go to IAM -> Permissions - Add. I enter the email without the caps & ignore their suggestion to use the one with caps. But in the "Select a role" dropdown, it shows "Owner" as a role "Currently used". I select it anyway and click Save. But IAM -> Permissions never get changed.
I've thought of changing the owner first to someone completely different and then to the lower case email. But that might involve billing emails changing, etc.
EDIT - As a result of trying to add myemail#mydomain.com to the project, I received an email at that address from GCP, asking me to join the project. I accepted the request, but IAM is still only showing MyEmail#mydomain.com as being on the project.
Is this really the case that myemail#mydomain.com and MyEmail#mydomain.com are separate GCP identities? Might there be a different reason for Trust & Safety to think they're not the same?
If I respond to the T&S email, describing my issue, will a real person actually read it, or will the same automated test be run again to check the issue?
Resolution: I responded to the T&S email, explaining what was going on with the upper/lower case letters in my email address.
Today I got a reply: "Request Granted. Your project is now verified for ....". That's great! But I wonder if I will forever be first rejected for the same reason on all new projects that I create. It appears that the final solution is likely finding a way to change my logon email on GCP to one without capital letters.
Since you mention that you are never asked to select a different profile when logging into your account, then it should be the exact same account using the actual same GAIA ID as mentioned by DazWilkin, so there should be no difference within the GCP console between MyEmail#mydomain.com and myemail#mydomain.com.
Google usually recognizes an email address in both forms as the same account, although there are some exceptions across their products (I have had a similar experience with email addresses from Google Groups). I think this is one of those particular exceptions.
I would strongly recommend transferring the project ownership to a totally different account within your domain, then waiting a couple of hours due to Google's "propagation time" across services, and transferring the ownership back to the account using the format myemail#mydomain.com.
Now answering to:
If I respond to the T&S email, describing my issue, will a real person actually read it, or will the same automated test be run again to check the issue?
They are actually a team of people, but they tend to use a lot of canned responses, so I would definitively recommend being very specific with your choice of words when responding to their emails otherwise, you may not get a relevant response. You may also try to explain this to them via email to see if there is an actual problem with the email address or if it is just them or the system being extremely picky when checking the email address.
I think you basically have it covered. But it is important that on new Owner's account, you will need to go to "Billing" in the "hamburger" menu and either link the project to an existing billing account or set up a new Billing account to link the project.
You may also need to delete the old project owner to avoid confusion.

Is it possible to add a FROM to SMS with new clickatell API?

The new platform API at Clickatell seems to not allow you to add "from" to the JSON payload, complaining that it not a 2 way integration, but the is no possibility to add a text moniker to the short codes so that instead of the number "COMPANY" would appear
This is possible with the older api. Clickatell endpoints, and wondering if anyone can confirm that this functionality is actually removed, but better still suggest a workaround if it is
They used to allow this a long time ago (TPOA - transmission path originating address)... looks like the API's haven't been updated to reflect that now it's not a free-for-all, but restricted to short or long codes you have purchased via them.
The Platform account doesn't have the sender ID feature - however, the FROM parameter is still available for any two-way integration with an active two-way subscription. The subscription can either be for a short code or a long number, if specified in the message submission. If the feature is supported by suppliers and network operators, these messages will deliver with the short code or long number specified.

Create Lotus Notes entry from Access Event

Is it possible to create an entry in a Lotus Notes Calendar, specifically a "reminder" using an Access VBA script when a new entry is made in the Access database table? I have had a search on google but the only thing I can find so far is send an email to Lotus Notes. The email option but work if I can create it as a Lotus Notes invitation. Is that a possible alternative?
If you found examples for sending an email, then you found examples on how to open the users mailfile (called dbMail in the following examples) using OpenMail method of NotesDatabase- class.
Now you just need to create a document using Set doc = dbMail.CreateDocument in that database, tell it to be an Appointment by applying the form- item Call doc.ReplaceItemValue( "Form", "Appointment" ) and then set all the required items. The needed items can be found in the calendaring and scheduling schema at IBM.
Sorry for not posting specific code, but did not want to put more effort in my answer then you did in your question...
The description of all classes (for LotusScript, but they are mainly the same in VB / VBA) can be found in the Domino Designer- Help you find at various places in the web.
If person A can create an appointment for person B, and that appointment is to be created immediately in B's calendar, A would need write-access to B's calendar. If it should work like that for any A and B in the organisation, you'll have a serious problem. That's why Notes works using invitations.
Please define first which of the two applications is leading in your organisation, Notes or the Access Calendar? If it is Notes, you should indeed send invitations, and your application should be inquiring Notes/Domino regularly about the status of the appointments. If it is your Access application, you can indeed put the appointment document directly in the user's database, but that would require write access to all user mail/calendar databases.
We solved a similar problem by creating an intermediary database (application) on the Domino server that is the interface between the (Access) application and the Notes environment. The Notes application runs as a special user, with write-access to all user databases. The Access application can communicate with that database in any way you seem fit: mail, web-services, COM-interface.
Better refrain from writing user mail databases directly. Either send invitations, or create a Notes-based "replicator" application.

How to get notified by mail when rows are inserted into table?

I made an online store coded in JSP and tables stored in MysQl. I'm using servlet and classes. I would like to get notify by mail at admin#domain.com when an order is inserted in the database.
Likewise, the customer should receive the order confirmation to the email they entered when they submit the form.
I would like to get feedback on how to do such a task. What's the best practice? I hope to not get back fire with this question because I`m aware there are several answers possible.
Basically, I`m just looking for the easiest and fastest implementation without too much hassle!
The form contains very sensitive and confidential data like address and such. But, since our customers can track their orders on the site, the data should not be sent, for security purposes. Just a message to confirm the reception of their order.
Please guide me in the right direction.
If you are using Hibernate i would recommend you using an entity listener, specially with a #PostPersist callback. You can read about it in Chapter 6. Entity listeners and Callback methods.
The email part can be done using the JavaMail API.
You can check an example of sending an email in Sending an Email using the JavaMail API.
Hope it helps!

Are there any hooks for user modification events in google apps?

Currently the bane of my existence is dealing with users email signatures at work, changing names, titles, departments, new users...it's all annoying. Currently I manage it with GAM and a semi templated HTML file to push changes, which works okay, but it's still a manual process. What I'm looking to do is create a small app script or app engine project that can...
detect a new or changed user
pull the fields needed to fill in their signature template
push the changes to their account
2 & 3 are no problem at all, it's #1 that I cannot find a reasonable solution to.
I had thought about using the google apps audit settings to email a specific mailbox when a new user is created, but that will only catch new users, not changes in titles and such. My only apparent option is something that runs periodically checking all the users signatures against what my script would generate and updating if needed, but that's hardly efficient and creates a potential timelapse in the waiting period meaning when people want things 'done now' (which is of course, every request), it will mean I manually trigger the job; effectively bringing me back to my original solution.
Is there any kind of user feed that contains changes available in google apps? Maybe google has a POST hook that hits a predefined URL on changes?
You can probably use push notifications for this https://developers.google.com/drive/web/push using the users.watch method https://developers.google.com/admin-sdk/directory/v1/reference/users/watch