About this talk
Take an in-depth tour of the next generation of GRAX in this latest GRAX Labs video. This deep dive covers GRAX Search, Point-in-Time Restore, History Stream, Settings, Auto-Backups, and more found within this next generation of GRAX.
You can also check out the following GRAX Labs videos to see each of these functionalities in action:
- GRAX Search tab - giving Salesforce admins the easy button for searching through their historical data
- GRAX Dashboard and Execution tabs - view all of your historical Salesforce data backup and archive jobs
- History Stream - how to configure salesforce objects for History Stream to gain better business outcomes
- And others!
Watch this video to see how this next generation of GRAX gives you the ability to easily capture, own, access, and act-on all of your backed up and archived Salesforce data with a few clicks, no code.
Ready to get on the next generation of GRAX or have questions? Reach out to GRAX Support [at] firstname.lastname@example.org for technical support.
*See our Safe Harbor Statement below
The main changes here are that we've introduced a new user interface, and with that, we have called out some of the functionality on the old managed package.
So you can see on the Configuration tab, there's now a new settings button that wasn't there before, and the setup subtab is no longer here. So you still connect to the app the same way you always did, but to get to the settings now, you go here. And it opens up the new web page for the app that lets you set those.
Here's my Salesforce credentials, and you'll see the users there, but there's no password, no token. This is using all storage credentials here, and you can see the bucket name and the region. But you can't see the access key or secret access key, and you can even click to view those, and they're not available. You also can't see that it's an assumed role or anything. That's all a security feature in the improvements.
We get into general settings - we now have the ability to set an admin email address so you can be alerted to outages or simple things that you can fix, like the Salesforce password has expired or the storage credentials don't work anymore. We can actually send you an alert from the app that will tell you when things like that happen.
Metadata backup used to be a separate tool. It used to be some config vars you had to put in. And now it is literally just a select the button and choose what period you want and click save. You can also do a one-off take a metadata backup.
There is new optionality and visibility to delete tracking. We've always done delete tracking, but now we've made it visible, and you can pick a time frame. So delete tracking is the application actually tracking records that are deleted out of Salesforce that are in GRAX.
So if you have an email address in Salesforce that's been backed up, and somebody deletes it in Salesforce, it's not marked archived in GRAX. At the time it's deleted, it's not even marked deleted in GRAX. It's just in GRAX, but not in Salesforce anymore. We have a function that runs on a period, and it checks those in Salesforce and then marks the record as deleted in GRAX.
So now you can actually filter and search by deleted items in addition to archived things in GRAX.
And that again is, click the edit button here and choose your time period. You can also just run it in a one-off.
We are transitioning logs from the old log drain that we used to do to log streaming. This is to our HQ, abbreviated for headquarters. It's basically our version of Datadog or our Datadog type of tool. And then logs still contain no sensitive data. They're all transactional things about the processes that GRAX is running and if there are any errors or stuff like that.
Brand new feature restore phases. This is where you can choose if you're going to do a restore; it's either restore one level at a time, which is the default or restore the full hierarchy.
So if you're restoring a case one level at a time, it's just going to restore the case record.
If you choose the full hierarchy, it's also going to restore any related context to that case - any related email messages, tasks, other events, things like case comments that might be related to that case.
And another new feature is automatic software updates. We can now, in the user interface here, set automatic updates every night within plus or minus 20 minutes of midnight. It'll check for updates and deploy them if there are any patches, or fixes, any updates to the software in the backend app. It will also check every time the app restarts and keep it updated. So those are the settings changes.
And on the miscellaneous tab, it's the same thing.
But now, the schedule tab, same functionality it's always had.
But the Search tab now takes you out to the new user interface, to the search page, which you can also go to; if you notice there is the same thing, just a different section in here from the Settings tab.
Eventually, the ability to schedule jobs will be moved out here as well, and the managed package will become optional, where you'll install it basically to do like the Lightning Web Components, things like that.
If you don't want to do that, eventually, you'll be able to just download the code and deploy it into your sandbox and then promote it in your production through your development process, your software development lifecycle.
So the search here is searched by ID. You can also use advanced search, and you can configure that here, where you select what objects you want indexed. And then, once you have them indexed, you can choose the object, and you can pick.
This is where I said, like, you can sort by delete it or archived. You can choose that all is obvious. And then you can do your search by dates; it gives you the first and last date and time. You get a bunch of different dates you can choose from, and then one massive improvement in the search function is in the old search. In the managed package, you used to have to pick a field and say that it was equal to value or it contained a value.
Now, you can do a fuzzy search. So if I were searching for an account that had the word Wilkerson in it. It finds it on a fuzzy search because the account name says, Wilkerson. So it allows you to do a fuzzy search for a string rather than set an exact value or contains a value, a substring, looking for a field. So if you don't actually know what the field name is, it doesn't matter anymore. You can search for just whatever you think it is, which makes searching for somebody's name or an email address much easier.
Once you're in here in this new user interface, you can also see that this record is still in Salesforce because it says View in Salesforce.
If this were archived out of Salesforce, you would see a restore option up here.
And you can also see a nice little graph that gives you a diagram of the relationships. So I can see this has contacts, opportunities, feed items, opportunity line items, cases and feed items off the cases here. And if I wanted to go to one of those, I could do that just by clicking on here. And it will show me that record here, if I have it backed up.
And you and you can use this just like a browser page, so you can go forward and backwards just like you would in any browser page.
The other nice thing is if you have a selection here of fields that you queried on a set of records, you can now download it as a CSV. That was a recent update as well. The old search function allows you to do that. Now, the new one does as well.
So a couple of features in here that you're not going to see right off the bat or one is Auto-Backups** that's just in test for our internal users right now, and a couple beta users and customers testing it. So we're not that's not for general availability yet, but it is coming.
Executions - this replaces the old summary page, where you can see all the times your jobs ran and what the name of it was, start time, duration, number of records involved in the status. In any of these, you can also click into them. And you can sort all these fields. So you can click into the individual records and dig down into them, and again, you can view it in Salesforce because I haven't deleted any of these. You can also filter by typing there. There's one type that are two types that are not shown by default: restore tracking and restore post-process. So if you try to restore something, you can see the job in here if you select this. You'll see the restored show up just like a job just like a backup or archive.
OK, like I said, Auto-Backups** isn't available yet, but basically, it monitors all of your objects, and it runs. I think it's every hour right now, and it's looking for anything - any records that have changed in that object every hour that's coming, coming quickly as an option.
And then restore; this is a new Point-in-Time restore. It's in the new user interface. This restore will let you set up, and I have a few here that I have not run and canceling them is as easy as just dismissing. But to create one. This is for the point in time restore is to address the most common restore need that customers have had with GRAX, and that is that some integration process or a data upload has changed, you know, 10,000 records change to fields on 10,000 records. You know what the 10,000 records are. And you can create a report in Salesforce for those 10,000 records, and then we can select that report here, that is next. It'll show you what records are in that report, and you can click through them if it's there. Then you can pick the date and time and what field you want to restore. You can pick a field and choose it, or you can get all of them at once. However you'd like, the most common thing is one or two fields across the number of records in mass.
And the idea with point-in-time is if you're backing up if you're doing an incremental backup every day. So your most recent backup of the record was Friday at 6 o'clock, and it's now Monday, and you want to restore it to. The value at 5 o'clock on Friday, you would do a restore point in time and set that date to Friday and the time for 5 o'clock PM, and GRAX would look back through the history and all the versions we have for whatever version was. At or prior to five o'clock, so in this case, it would have been Thursday at 6 o'clock would be the backup we had that would happen. And it would restore it, put it right back those values right back to what they were at that time.
History Stream is another newer feature that came with the new user interface. History stream is a new novel idea, and I believe that GRAX is probably the only tool like it that has this option. And that is, you have your data in GRAX that you've backed up out of your Salesforce org.
What if you want to use that data for business analytics, like Power BI, or you want to use Amazon's Redshift or Athena and process it through there to do something with it? You can also use things like Snowflake, and I'm thinking there's a few others. I know Azure used to have the Data Factory. I think most things have moved to Power BI in that respect at this point.
But History Stream does something really neat in that it takes your data that would be object-specific so you can choose which objects you want to select in the Configure button. And you just click them from the left to the right and click Update object list, and they will automatically start. And what it does is it takes all the records from that object from that point forward. And it will copy them all into a new Parquet file. And Parquet is a pretty industry-standard format that all of the current analytic tools out there use. You can import it into things or link to it. However you'd like from your storage container, and it never affects your existing GRAX data, so you still have your original backups and everything without hurting it, so you can manipulate your Parquet files without concern, which is a really neat feature and allows you to do any kind of analytics you want.
So many things about a company change,0 and their activities happen over time. Looking back at that, history should teach you a lot about how a company runs, how your users use it, et cetera. So that's the new user interface.
With that, I'm going to jump back into the Salesforce environment for a minute to show you a few other neat things that came with the new package. There is a new Lightning Web Component. There are actually three Lightning Web Components that are relatively new.
And one is a GRAX related list. So this is contact records, all data on an account. So I'm seeing the related contact records that are in GRAX. And this is all data, and you can see case records. I have archived and deleted data. I don't actually have any archived or deleted cases on this account, but this gives you some idea of what you can select. You have actual labels instead of API names, which are really nice, and if you want to select a record and view it. You can view the different information however you'd like to see it. And so that's the related list.
You can do multiple of those on a tab; you will notice I put it on a separate tab in here on the page. I didn't put it on the related list. If you're only going to put up like related, archived and deleted data, it's especially important to put it on a separate tab to identify that it's archived and deleted, but also, every time a user opens this tab, it's going to go out and query all these things, which are API call outs, and that limit is lower than your API usage. So we put it on a separate tab for only when you actually use it, so people will know that they're using it. And then, so that's one of the Lightning Web Components.
The other is this function called versions here. On the right-hand side, I have it under activity. And you can see this as 0 different values. Let me actually jump, I am going to jump to another account real quick because I think I have one that has a couple of different versions. Yeah, here we go.
So in this account, I actually have multiple versions. So I can go here, and there's two different values. And down here in this, which is a single record restore Lightning Web Component, it lets me see the values that have changed between live and what this was on February 12th. I can also check, add in checking against March 1st. And you can see the different things from live February and March. I can choose if I want to restore one of these records back to this, these fields back to this day and any field that I can restore, I will.
There are fields you cannot restore. For example, you can't restore a case. No, you can't restore an ID field. You can't restore a Create a date. There's a few things like that. The Salesforce just won't let you upsert into an existing record. And we just gray those out. So you can't. So that shows you a little bit about the Lightning Web Components. Adding those to the page, it really is as easy as just clicking the Edit Page. And they are here. Custom manage GRAX list records, single record restore and GRAX versions. Just select the area of the page where you want them. Grab a component and drag it onto the page where you want it, and then off here to the side. You can see, as long as you type the name correctly, it comes up very well. But you can see that pops up and fills in pretty well already right off the bat. So it is that easy to add it. You can change the names if you want.
These are paginated, so you can pick the number of records per page. So if you wanted to do 10, it just makes us bigger, and it'll auto-adjust when he gets to 10 records. It'll start a new page, so you'll have a button that'll let you go backwards or forwards on the pages, which is much nicer than the old way of you had to set the pixels. And your data selection, all data archive deleted or archived and deleted, what are the options
Those are all the new features.
** Auto-backups are GA as of May 2022
* Safe Harbor Statement Our presentation, website, and materials may contain “forward-looking statements” within the meaning of Section 27A of the Securities Act of 1933 and Section 21E of the Securities Exchange Act of 1934. We intend all forward-looking statements to be covered by the safe harbor provisions of the Private Securities Litigation Reform Act of 1995. Forward-looking statements generally can be identified by the fact that they do not relate strictly to historical or current facts and by the use of forward-looking words such as “expect,” “expectation,” “believe,” “anticipate,” “may,” “could,” “intend,” “belief,” “plan,” “estimate,” “target,” “predict,” “likely,” “seek,” “project,” “model,” “ongoing,” “will,” “should,” “forecast,” “outlook” or similar terminology. These statements are based on and reflect our current expectations, estimates, assumptions and/ or projections as well as our perception of historical trends and current conditions, as well as other factors that we believe are appropriate and reasonable under the circumstances. Forward-looking statements are neither predictions nor guarantees of future events, circumstances or performance and are inherently subject to known and unknown risks, uncertainties and assumptions that could cause our actual results to differ materially from those indicated by those statements. There can be no assurance that our expectations, estimates, assumptions and/or projections, including with respect to the future earnings and performance or capital structure of GRAX will prove to be correct or that any of our expectations, estimates or projections will be achieved. Numerous factors could cause our actual results and events to differ materially from those expressed or implied by forward-looking statements. All forward-looking statements should be evaluated with the understanding of their inherent uncertainty. The forward-looking statements included on our presentation are only made as of the date indicated on the relevant materials and we disclaim any obligation to publicly update any forward-looking statement to reflect subsequent events or circumstances. GRAX assumes no obligation for, and does not intend to update, any forward-looking statements. Any unreleased services, features, functionality, or enhancements referenced in a GRAX document, roadmap, blog, website, press release, or public statement that are not currently available are subject to change at GRAX’s discretion and may not be delivered as planned or at all. Customers who purchase GRAX should make their purchase decisions based upon features and functions that are currently available.