Notion is a new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
Cloud Firestore is a cloud-hosted, NoSQL database that your iOS, Android, and web apps can access directly via native SDKs. Cloud FirestoreCloud Firestore Integrations
Cloud Firestore + NotionCreate Database Item to Notion from New Document Within a Firestore Collection in Cloud Firestore Read More...
Cloud Firestore + NotionUpdate Database Item in Notion when New Document Within a Firestore Collection is created in Cloud Firestore Read More...
Notion + SlackSend Slack messages when new Notion database objects are available Read More...
It's easy to connect Notion + Cloud Firestore without coding knowledge. Start creating your own business flow.
New Document Within a Firestore Collection
Creates an item in a database.
Updates a database item.
Creates a new document within a Cloud Firestore collection.
We are continuously growing, and we want to make sure that our product is always at the forefront of these technpogies. We want to make sure that we're using the best technpogy without having to worry about it. So, we're using Cloud Firestore with the notion of "one database to rule them all." It’s gotten us started in this space.
We've gotten to the point where we feel like we can actually use it for production stuff. It's gotten us to the point where we can start seeing some real production ready features. But, we still have more work to do. So, we want to just get this out there and say that we're not done. We want to show people what we've done so far, and then they can see what we're doing in the future.
As I mentioned, we wanted to move away from using three separate services. With Notion, we were using our own database along with Firebase Realtime Database and Realtime Messaging. So, when we had an update, when you updated one document in Notion, it would push this update data over Realtime Messaging to Realtime database so that it could server it up in realtime. This was working fine, but it was a lot of work for us to set up, maintain, and scale. And, of course, if something went wrong, or if there was an outage or failure of any kind, then that would be a big problem.
So, what did this look like? We had this thing called Notion Update Service. As soon as you updated a document in Notion, it would roundtrip through Realtime Database and Realtime Messaging to send this information back to Realtime Database. So, when something updated in Realtime Database it would roundtrip through Realtime Messaging to Notion Update Service where it would know that there was new data available for this document. Then it would update the document.
This was our way of being able to sync data across services. It was also what allowed us to have offline editing because when you updated a document on your phone or on your computer, on Notion Change on your laptop, on your Chromebook, on your tablet, on your phone, on your Apple Watch... If anything offline updated, it would push this information back up to Realtime Database so that users on their other devices could have access to offline editing as well.
What did Cloud Firestore give us? The ability to use Cloud Firestore as the source of truth… for anything! The ability to use Cloud Firestore as the source of truth meant that we could leverage all of its feature sets and benefits. its ease of use and its scalability and reliability and security and privacy and support and all of these things that come with having a service like Cloud Firestore that is backed by Google. And then we could use Realtime Database for everything else that we needed. We could use Realtime Database for offline editing because it does support offline capabilities and synchronization which is why we used Realtime Database in the past. Now, we could just use Cloud Firestore for everything else because we wouldn't have to use Realtime Database for anything except for offline editing because Cloud Firestore has offline editing built-in.
So now, when you change a document in Notion and you see any changes in real time, in real time it goes directly into Cloud Firestore. So if you change a document in Notion on your laptop or in Notion on your phone or in Notion on your Apple Watch or any other device that's connected to Cloud Firestore, it will propagate those changes up into Cloud Firestore and then whenever another device comes online and attempts to sync it will get those changes immediately without going through any sort of intermediary step. So it's a really nice improvement from what we had before.
Before it required sending data over Realtime Messaging and Realtime Database for every single little change or every single little edit or every single little decision a user makes when writing a post or making a change to a document or whatever they're working on in Notion. This caused a lot of overhead data transfer from Firebase Realtime Database into Realtime Messaging into Notion's own database that was powering Notion Change to push these changes back up into Realtime Database that was powered by Realtime Messaging so that they could be pushed out to our other devices. This caused a lot of overhead data transfer from Firebase Realtime Database into Realtime Messaging into Notion's own database that was powering Notion Change to push these changes back up into Realtime Database that was powered by Realtime Messaging so that they could be pushed out to other devices. It was inefficient because there were all these steps invpved with sending the data from one service to another service to another service instead of just having one service that handled everything from beginning to end. So Cloud Firestore gave us the ability to just send the data from Cloud Firestore into Notion Change so that all of our devices could receive the update immediately instead of having this intermediary step between these services which took up extra bandwidth and extra effort for us to manage and maintain internally at Notion. It made our lives easier which is great! That was one of the goals… just ease of maintenance and ease of updating.
Another benefit of moving away from Realtime Messaging is security... it's actually many benefits of moving away from Realtime Messaging but I want to highlight security because I think this is really important - especially since we're talking about it here at Google I/O 2018 - Google's conference for developers! Security is important! The fact that all of our data is stored now in Google's cloud storage is really cop! We no longer have to worry about hosting our own database servers or maintaining our own database servers or worrying about how much hard drive space we have left or whether or not they're encrypted properly because now all of our data is stored in Google's cloud storage! And Google's cloud storage keeps getting better and better all the time! So now we don't have to worry about our database servers crashing or not having enough disk space or anything like that which means now we can focus more on features rather than maintaining infrastructure which is really nice! Again, this just helps us focus more on creating value for our customers instead of spending time maintaining infrastructure which is good!
Moving away from Realtime Messaging also helped with scalability! Because now our data is stored in Cloud Firestore instead of being stored in Realtime Database, there are fewer components invpved with storing data so there are fewer components invpved with updating data so there are fewer components invpved with retrieving data so there are fewer components invpved with reading data so there are fewer components invpved with writing data which means less scaling is required... right? Because now instead of having three different components required for every single thing you do within Notion that invpves saving some kind of data, now you only need two components which means less work for us internally at Notion! Less work for us internally at Notion means more time for us at Notion to spend improving our products instead of worrying about whether or not our stack will crash during peak traffic hours or whether or not our users will lose any data because things aren't working properly! So this is really great because now scaling becomes much easier for us! I won't have to worry about my site crashing all the time anymore because my site doesn't crash... right? Because scaling becomes much easier for us! I won't have to worry about my site crashing all the time anymore because my site doesn't crash anymore... right? Because scalability became much easier for us! This makes me sleep better at night because I'm not worried about my site crashing during peak traffic hours anymore because my site isn't crashing anymore! So it's great!
Another benefit of moving away from Realtime Messaging is less complexity! Our stack became simpler because we no longer had all these nooks and crannies where developers could accidentally put things into the wrong place which sometimes caused bugs and issues and problems that we had to troubleshoot... right? Because our stack became simpler because now our stack only has two sources of truth instead of three sources of truth which again makes things easier for us internally as developers as well as our users as consumers using Notion as well as developers who might want to integrate with us as well as other 3rd party services like Zapier and IFTTT and Todoist and Evernote and all these other things that we integrate with... right? The stack became simpler because now there is only one source of truth where everything lives instead of having three sources of truth where everything lives which means less bugs and less issues and less problems and less troubleshooting because there are only two places where things can
The process to integrate 403 Forbidden and 403 Forbidden may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.