diff --git a/docs/basics.mdx b/docs/basics.mdx new file mode 100644 index 000000000..4a600a261 --- /dev/null +++ b/docs/basics.mdx @@ -0,0 +1,16 @@ +--- +title: The Basics +description: "Learn the basics before diving into building" +--- + +## Create an account + +## Get an API Key + +# 🚨 Keep interactions short to keep user engaged and feeling rewarded + +- get them to generate magic links +--> congrats + +- get them to receive their first webhook? sync? or do a write? +--> congrats \ No newline at end of file diff --git a/docs/concepts/custom-fields.mdx b/docs/concepts/custom-fields.mdx index aec30444d..6951899bd 100644 --- a/docs/concepts/custom-fields.mdx +++ b/docs/concepts/custom-fields.mdx @@ -1,6 +1,6 @@ --- title: 'Custom Fields' -description: 'Display inline code and code blocks' +description: 'How to get Panora to recognize specific fields' icon: 'code' --- diff --git a/docs/concepts/magic-links.mdx b/docs/concepts/magic-links.mdx index 6518efbbf..de49eec78 100644 --- a/docs/concepts/magic-links.mdx +++ b/docs/concepts/magic-links.mdx @@ -1,12 +1,13 @@ --- title: 'Magic Links' -description: 'Text, title, and styling in standard markdown' +description: 'Invite your users to connect, without writing code' icon: 'wand-magic-sparkles' --- +## What is a magic link? + ## Send your first Magic Link -Best used for section headers. ```md ## Titles diff --git a/docs/concepts/navigation.mdx b/docs/concepts/navigation.mdx deleted file mode 100644 index ca44bb645..000000000 --- a/docs/concepts/navigation.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: 'Navigation' -description: 'The navigation field in mint.json defines the pages that go in the navigation menu' -icon: 'map' ---- - -The navigation menu is the list of links on every website. - -You will likely update `mint.json` every time you add a new page. Pages do not show up automatically. - -## Navigation syntax - -Our navigation syntax is recursive which means you can make nested navigation groups. You don't need to include `.mdx` in page names. - - - -```json Regular Navigation -"navigation": [ - { - "group": "Getting Started", - "pages": ["quickstart"] - } -] -``` - -```json Nested Navigation -"navigation": [ - { - "group": "Getting Started", - "pages": [ - "quickstart", - { - "group": "Nested Reference Pages", - "pages": ["nested-reference-page"] - } - ] - } -] -``` - - - -## Folders - -Simply put your MDX files in folders and update the paths in `mint.json`. - -For example, to have a page at `https://yoursite.com/your-folder/your-page` you would make a folder called `your-folder` containing an MDX file called `your-page.mdx`. - - - -You cannot use `api` for the name of a folder unless you nest it inside another folder. Mintlify uses Next.js which reserves the top-level `api` folder for internal server calls. A folder name such as `api-reference` would be accepted. - - - -```json Navigation With Folder -"navigation": [ - { - "group": "Group Name", - "pages": ["your-folder/your-page"] - } -] -``` - -## Hidden Pages - -MDX files not included in `mint.json` will not show up in the sidebar but are accessible through the search bar and by linking directly to them. diff --git a/docs/quickstart.mdx b/docs/concepts/self-host-guide.mdx similarity index 94% rename from docs/quickstart.mdx rename to docs/concepts/self-host-guide.mdx index db4fbce42..587f7d4ff 100644 --- a/docs/quickstart.mdx +++ b/docs/concepts/self-host-guide.mdx @@ -1,6 +1,6 @@ --- -title: 'Quickstart' -description: 'Start shipping awesome integrations in 5 minutes' +title: 'Self-hosting Panora' +description: 'Try Panora in no time with full control.' --- @@ -36,7 +36,7 @@ The backend runs on `http://localhost:3000` -## Last? Get connected to your customers +## Next? Get access to your customers data Invite users to connect with their CRM with a Magic Link (no code needed), or using the API diff --git a/docs/crm/catalog.mdx b/docs/crm/catalog.mdx index 85d1e63c5..87cdc3cd5 100644 --- a/docs/crm/catalog.mdx +++ b/docs/crm/catalog.mdx @@ -22,30 +22,6 @@ Your CRM is missing? Or an object you need? Thanks! 🙏 -## Want to build an integration? +### An integration you need is missing? Want to build an integration? -**Click [here](https://github.com/panoratech/Panora/blob/docs-crmcontact/CONTRIBUTING.md) to learn more!** - - - - - - - - - - - -### Can't find your favourite CRM? Ask our community to add it! +**Click [here](https://github.com/panoratech/Panora/blob/docs-crmcontact/CONTRIBUTING.md) to learn more!** \ No newline at end of file diff --git a/docs/crm/contact/api/create.mdx b/docs/crm/contact/api/create.mdx deleted file mode 100644 index 65249fc85..000000000 --- a/docs/crm/contact/api/create.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: 'Create new contact' -description: 'Create a new contact in any CRM using this endpoint' -openapi: "POST /crm/contact" ---- - -# Create User documentation -api: ' /contact' diff --git a/docs/crm/contact/api/get.mdx b/docs/crm/contact/api/get.mdx deleted file mode 100644 index 51a1dc99b..000000000 --- a/docs/crm/contact/api/get.mdx +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 'List all contacts' -description: 'Retrieve all contacts from all connected CRMs using this endpoint' -openapi: "GET /crm/contact" ---- \ No newline at end of file diff --git a/docs/crm/contact/overview.mdx b/docs/crm/contact/overview.mdx deleted file mode 100644 index 23c348828..000000000 --- a/docs/crm/contact/overview.mdx +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: 'Overview' -description: 'Example section for showcasing CRM Contact Overview' ---- - -| Panora | Unified Write | Passthrough Requests | Remote Data | Managed Webhooks | Webhooks Unified | -| ------------- | ------------- | -------------------- | ----------- | ----------------- | ---------------- | -| Hubspot | ✔️ | ✔️ | ✔️ | ❌ | ❌ | -| Zoho | ✔️ | ✔️ | ✔️ | ❌ | ❌ | -| Zendesk | ✔️ | ✔️ | ✔️ | ❌ | ❌ | -| Pipedrive | ✔️ | ✔️ | ✔️ | ❌ | ❌ | -| Freshsales | ✔️ | ✔️ | ✔️ | ❌ | ❌ | \ No newline at end of file diff --git a/docs/crm/contacts/api/create.mdx b/docs/crm/contacts/api/create.mdx new file mode 100644 index 000000000..e0bccd2a0 --- /dev/null +++ b/docs/crm/contacts/api/create.mdx @@ -0,0 +1,8 @@ +--- +title: 'Create a contact' +description: 'Create a contact in any CRM using this endpoint' +openapi: "POST /crm/contact" +--- + +# Create User documentation +api: ' /contact' diff --git a/docs/crm/contacts/api/get.mdx b/docs/crm/contacts/api/get.mdx new file mode 100644 index 000000000..e7ee16c64 --- /dev/null +++ b/docs/crm/contacts/api/get.mdx @@ -0,0 +1,17 @@ +--- +title: 'List all contacts' +description: 'Retrieve all contacts from all connected CRMs using one endpoint' +openapi: "GET /crm/contact" +--- + +Example API Response: + + +```json JSON +{ + "id_contact": "f4e1ff72-e727-409a-8935-a63a63d4891e" + "first_name": "John" + "last_name": "Doe" +} +``` + diff --git a/docs/crm/contacts/overview.mdx b/docs/crm/contacts/overview.mdx new file mode 100644 index 000000000..dfd4f2424 --- /dev/null +++ b/docs/crm/contacts/overview.mdx @@ -0,0 +1,65 @@ +--- +title: 'The Contact Object' +description: 'Introduction to our CRM `contact` Unified Model' + +--- +## The Unified `contact` Object +The `contact` object is used to represent an existing point of contact at a company in a CRM system. + +### Properties + + + +```json JSON +{ + "id_contact": "f4e1ff72-e727-409a-8935-a63a63d4891e", + "first_name": "John", + "last_name": "Doe", + "custom_fields": [{ + "hair_color" : "black" + } + ], + "remote_data": { + "source": "hubspot", + "data": { + "XXX": "XXX" + } + } +} +``` + + + + + + + Panora Defined UUID for this contact + + + + The full name of the `contact` + + + + The last name of this `contact` + + + + Array containing all the non-standard data points for this `contact`. Requires mapping. + + + + Original data, as provided by the source CRM` + + + + + +## Supported Features for each CRM Contact Object: +| Panora | Unified Write | Passthrough Requests | Remote Data | Managed Webhooks | Webhooks Unified | +| ------------- | ------------- | -------------------- | ----------- | ----------------- | ---------------- | +| Hubspot | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Zoho | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Zendesk | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Pipedrive | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Freshsales | ✔️ | ✔️ | ✔️ | ❌ | ❌ | \ No newline at end of file diff --git a/docs/crm/deals/overview.mdx b/docs/crm/deals/overview.mdx new file mode 100644 index 000000000..cf89cf7a6 --- /dev/null +++ b/docs/crm/deals/overview.mdx @@ -0,0 +1,65 @@ +--- +title: 'The Deal Object - TODO' +description: 'Introduction to our CRM `deal` Unified Model' + +--- +## The Unified `deal` Object +The `deal` object is used to represent an existing deal in a CRM system. + +### Properties + + + +```json JSON +{ + "id_contact": "f4e1ff72-e727-409a-8935-a63a63d4891e", + "first_name": "John", + "last_name": "Doe", + "custom_fields": [{ + "hair_color" : "black" + } + ], + "remote_data": { + "source": "hubspot", + "data": { + "XXX": "XXX" + } + } +} +``` + + + + + + + Panora Defined UUID for this contact + + + + The full name of the `contact` + + + + The last name of this `contact` + + + + Array containing all the non-standard data points for this `contact`. Requires mapping. + + + + Original data, as provided by the source CRM` + + + + + +## Supported Features for each CRM Contact Object: +| Panora | Unified Write | Passthrough Requests | Remote Data | Managed Webhooks | Webhooks Unified | +| ------------- | ------------- | -------------------- | ----------- | ----------------- | ---------------- | +| Hubspot | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Zoho | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Zendesk | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Pipedrive | ✔️ | ✔️ | ✔️ | ❌ | ❌ | +| Freshsales | ✔️ | ✔️ | ✔️ | ❌ | ❌ | \ No newline at end of file diff --git a/docs/crm/quick-start.mdx b/docs/crm/quick-start.mdx new file mode 100644 index 000000000..2b005db68 --- /dev/null +++ b/docs/crm/quick-start.mdx @@ -0,0 +1,16 @@ +--- +title: 'Quick Start Guide' +description: 'CRM Quick Start Guide' +--- + +*This guide assumes you have a Panora API Key, and users that connected their account (through Magic-Links, or Embedded)* + +In this guide, you'll learn how to write a contact into any CRM, using Panora's unified `CRM Contact` endpoint. + + + + + + + +Page End: To go deeping into details, discover how to map `custom objects` to Panora, or listen to `webhooks` diff --git a/docs/images/panora.png b/docs/images/panora.png new file mode 100644 index 000000000..99be46fcb Binary files /dev/null and b/docs/images/panora.png differ diff --git a/docs/mint.json b/docs/mint.json index d4ad19bb3..d32644bfa 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -2,7 +2,9 @@ "$schema": "https://mintlify.com/schema.json", "name": "Panora Documentation", "feedback.thumbsRating": true, - "openapi": ["/openapi.json"], + "openapi": [ + "/openapi.json" + ], "suggestEdit": true, "primaryTab": { "name": "Home" @@ -66,20 +68,32 @@ "group": "Documentation", "pages": [ "welcome", - "quickstart" + { + "group": "Get Started", + "pages": [ + "basics" + ] + } ] }, { "group": "CRM", "pages": [ "crm/introduction", + "crm/quick-start", "crm/catalog", { "group": "Contacts", "pages": [ - "crm/contact/overview", - "crm/contact/api/get", - "crm/contact/api/create" + "crm/contacts/overview", + "crm/contacts/api/get", + "crm/contacts/api/create" + ] + }, + { + "group": "Deals", + "pages": [ + "crm/deals/overview" ] } ] @@ -97,16 +111,15 @@ ] }, { - "group": "Panora Concepts", + "group": "Panora Features", "pages": [ + "concepts/self-host-guide", "concepts/magic-links", "concepts/custom-fields", "concepts/passthrough-requests", - "concepts/sync-settings", - "concepts/navigation" + "concepts/sync-settings" ] }, - { "group": "Support", "pages": [ diff --git a/docs/welcome.mdx b/docs/welcome.mdx index 9a35fbce1..5b73622c9 100644 --- a/docs/welcome.mdx +++ b/docs/welcome.mdx @@ -1,11 +1,10 @@ --- -title: Welcome -description: 'Explore our guides and examples to integrate Panora.' +title: Welcome to Panora +description: "Let's introduce some key features and concepts." --- - Hero Light Hero Dark -## Start -The first step to world-class documentation is setting up your editing environnments. +Panora's mission is to help you `ship customer facing integration faster`.

+Modern companies keep using a growing number of software tools. Building and maintaining integrations with all of them will ruin your roadmap. + +Panora helps you save time: use a single API endpoint to write and pull data from multiple software platforms + +## Start Building + + + + - Get your docs set up locally for easy development + Move faster thanks to our scalable managed infrastructure + Ideal for early-stage companies that want to ship faster + + + + + + + + Ask your customers to grant you access to their tools, without writing code + + - Preview your changes before you push to make sure they're perfect + Embed Panora into your product to collect access to use user's data -## Browser by product + - + + Time to discover the dashboard + + + + + - Get your docs set up locally for easy development + Write contacts, deals, and more to any platform - Preview your changes before you push to make sure they're perfect + Send emails, texts, and more through many platform - Preview your changes before you push to make sure they're perfect - - - Coming Soon + Opening, closing tickets and more, anywhere + + + + + + + + + + +[Give Feedback](https://tally.so/r/mRD1QQ?feedback_source=welcome) \ No newline at end of file diff --git a/packages/api/Dockerfile b/packages/api/Dockerfile index 3b06233e1..03d1ec5c9 100644 --- a/packages/api/Dockerfile +++ b/packages/api/Dockerfile @@ -45,4 +45,6 @@ WORKDIR /app COPY --from=installer ./app . -CMD node /app/packages/api/dist/src/main.js \ No newline at end of file +# Launching the backend +# Maintain the root api folder as context (Breaking) +CMD cd /app/packages/api && node dist/src/main.js \ No newline at end of file