diff --git a/pages/integrations.tsx b/pages/integrations.tsx
index 445845fa..538f1dc9 100644
--- a/pages/integrations.tsx
+++ b/pages/integrations.tsx
@@ -1,11 +1,11 @@
 import Head from 'next/head';
+import prisma from '../lib/prisma';
 import Shell from '../components/Shell';
 import { useState } from 'react';
 import { useSession, getSession } from 'next-auth/client';
 
-export default function Home() {
+export default function Home(props) {
     const [session, loading] = useSession();
-    const [integrations, setIntegrations] = useState([]);
     const [showAddModal, setShowAddModal] = useState(false);
 
     if (loading) {
@@ -16,15 +16,6 @@ export default function Home() {
         }
     }
 
-    function getIntegrations() {
-        fetch('/api/integrations')
-            .then((response) => response.json())
-            .then((data) => setIntegrations(data));
-    }
-
-    // TODO: Stop this function from running repeatedly
-    getIntegrations()
-
     function toggleAddModal() {
         setShowAddModal(!showAddModal);
     }
@@ -45,7 +36,7 @@ export default function Home() {
             <Shell heading="Integrations">
                 <div className="bg-white shadow overflow-hidden sm:rounded-lg">
                     <ul className="divide-y divide-gray-200">
-                        {integrations.map((integration) =>
+                        {props.credentials.map((integration) =>
                             <li>
                                 <a href="#" className="block hover:bg-gray-50">
                                     <div className="flex items-center px-4 py-4 sm:px-6">
@@ -95,7 +86,7 @@ export default function Home() {
                             </li>
                         )}
                     </ul>
-                    {integrations.length == 0 &&
+                    {props.credentials.length == 0 &&
                         <div className="bg-white shadow sm:rounded-lg">
                             <div className="flex">
                                 <div className="py-9 pl-8">
@@ -191,4 +182,30 @@ export default function Home() {
             </Shell>
         </div>
     );
+}
+
+export async function getServerSideProps(context) {
+    const session = await getSession(context);
+
+    const user = await prisma.user.findFirst({
+        where: {
+            email: session.user.email,
+        },
+        select: {
+            id: true
+        }
+    });
+
+    const credentials = await prisma.credential.findMany({
+        where: {
+            userId: user.id,
+        },
+        select: {
+            type: true,
+            key: true
+        }
+    });
+    return {
+      props: {credentials}, // will be passed to the page component as props
+    }
 }
\ No newline at end of file