From 3b98625e8187a91982e1fcb93715e961a8d48ea1 Mon Sep 17 00:00:00 2001 From: Mathias Vagni Date: Mon, 20 Nov 2023 16:38:50 +0100 Subject: [PATCH] Various new content --- .../graphql/customers/customer-groups.mdx | 3 +- docs/assignment.mdx | 5 ++ ...tact-forms-setup.mdx => contact-forms.mdx} | 4 +- ...mer-cards-setup.mdx => customer-cards.mdx} | 2 +- docs/customer-groups.mdx | 12 +++++ docs/data-model.mdx | 50 +++++++++++++++++++ docs/{email-setup.mdx => email.mdx} | 7 ++- docs/email/alternate-emails.mdx | 5 ++ .../receiving.mdx} | 2 - .../sending-emails.mdx => email/sending.mdx} | 2 +- docs/{events-setup.mdx => events.mdx} | 0 docs/introduction.mdx | 31 ------------ docs/{labels-setup.mdx => labels.mdx} | 0 ...inear-integration-setup.mdx => linear.mdx} | 0 docs/notifications.mdx | 5 ++ docs/priorities.mdx | 5 ++ docs/quickstart.mdx | 11 ++++ docs/reporting.mdx | 5 ++ docs/security.mdx | 3 +- docs/shortcuts.mdx | 5 ++ docs/slack.mdx | 9 ++++ docs/snippets.mdx | 5 ++ docs/syntax-highlighting.mdx | 5 ++ mint.json | 39 ++++++++++++--- 24 files changed, 166 insertions(+), 49 deletions(-) create mode 100644 docs/assignment.mdx rename docs/{contact-forms-setup.mdx => contact-forms.mdx} (89%) rename docs/{customer-cards-setup.mdx => customer-cards.mdx} (96%) create mode 100644 docs/customer-groups.mdx create mode 100644 docs/data-model.mdx rename docs/{email-setup.mdx => email.mdx} (92%) create mode 100644 docs/email/alternate-emails.mdx rename docs/{email-setup/receiving-emails.mdx => email/receiving.mdx} (98%) rename docs/{email-setup/sending-emails.mdx => email/sending.mdx} (99%) rename docs/{events-setup.mdx => events.mdx} (100%) delete mode 100644 docs/introduction.mdx rename docs/{labels-setup.mdx => labels.mdx} (100%) rename docs/{linear-integration-setup.mdx => linear.mdx} (100%) create mode 100644 docs/notifications.mdx create mode 100644 docs/priorities.mdx create mode 100644 docs/quickstart.mdx create mode 100644 docs/reporting.mdx create mode 100644 docs/shortcuts.mdx create mode 100644 docs/slack.mdx create mode 100644 docs/snippets.mdx create mode 100644 docs/syntax-highlighting.mdx diff --git a/docs/api-reference/graphql/customers/customer-groups.mdx b/docs/api-reference/graphql/customers/customer-groups.mdx index 457f1c0..2f97ac0 100644 --- a/docs/api-reference/graphql/customers/customer-groups.mdx +++ b/docs/api-reference/graphql/customers/customer-groups.mdx @@ -1,8 +1,9 @@ --- title: 'Customer groups' -description: 'Customer groups can be used to group and segment your customers, e.g. pricing tier: free paying, enterprise etc.' --- +Customer groups can be used to group and segment your customers. For example you could organise your customers by their tier "Free", "Growth, "Enterprise" or make use of groups to keep track of customers trialing beta features. + Customers can belong to one or many groups. You can filter your customers by group, allowing you to quickly focus on a subset of your customers. This guide will show you how to add customers to groups using the API. You can also do this with the UI in Plain if you prefer. diff --git a/docs/assignment.mdx b/docs/assignment.mdx new file mode 100644 index 0000000..4227322 --- /dev/null +++ b/docs/assignment.mdx @@ -0,0 +1,5 @@ +--- +title: 'Assignment' +--- + +TODO diff --git a/docs/contact-forms-setup.mdx b/docs/contact-forms.mdx similarity index 89% rename from docs/contact-forms-setup.mdx rename to docs/contact-forms.mdx index 0de063d..d38e2fc 100644 --- a/docs/contact-forms-setup.mdx +++ b/docs/contact-forms.mdx @@ -1,8 +1,10 @@ --- title: 'Contact forms' -description: 'Contact forms are the best way to offer support at scale. With contact forms, you can pre-triage every support request so that when you know exactly what to prioritize in Plain.' +description: 'The best way to offer support at scale.' --- +With contact forms, you can pre-triage every support request so that when you know exactly what to prioritize in Plain. + Plain **does not** provide any UI components or a drop-in script tag. Instead, you use your own UI components and then use Plain's API. When a contact form is submitted, you first [create the customer in Plain](/pages/graphql/customers/upsert) and then [create a thread](/pages/graphql/threads/create) in Plain. diff --git a/docs/customer-cards-setup.mdx b/docs/customer-cards.mdx similarity index 96% rename from docs/customer-cards-setup.mdx rename to docs/customer-cards.mdx index 127dd7e..223ab47 100644 --- a/docs/customer-cards-setup.mdx +++ b/docs/customer-cards.mdx @@ -1,5 +1,5 @@ --- -title: 'Customer Cards' +title: 'Customer cards' description: 'Customer Cards are a powerful feature in Plain that let you show information from your own systems while looking at a customer in Plain. This makes sure you always have important context when helping customers.' --- diff --git a/docs/customer-groups.mdx b/docs/customer-groups.mdx new file mode 100644 index 0000000..716bd55 --- /dev/null +++ b/docs/customer-groups.mdx @@ -0,0 +1,12 @@ +--- +title: 'Customer groups' +description: 'Organise and segment your customers' +--- + +Customer groups can be used to organize and segment your customers. For example you could organise your customers by their tier "Free", "Growth, "Enterprise" or use temporary groups to keep track of customers trialing beta features. + +You can configure the groups in your workspace by going to **Settings** → **Customer Groups** where you can set a name and color per group. + +You can then either manually add a customer to a group from any thread or you can programatically [via the API](/docs/api-reference/graphql/customers/customer-groups). + +You can also filter threads by customer groups so you can for example prioritise threads belonging to Enterprise customers. diff --git a/docs/data-model.mdx b/docs/data-model.mdx new file mode 100644 index 0000000..b12f18e --- /dev/null +++ b/docs/data-model.mdx @@ -0,0 +1,50 @@ +--- +title: 'Data model' +description: 'A quick run-through of how things are structured within Plain.' +--- + +This page will give you a birds eye view of how Plain is structured. Whether you are using Plain's API or not, this is a quick way to get your bearings. + +Within Plain all data belongs to a **Workspace**. When you sign-up you create a workspace. Within a workspace you have **Users**, **Customers**, **Threads**, **Labels**, and **Events**. + +## Workspace + +Everything within Plain happens in a workspace. Typically you will have one workspace using your company's name like you would in Slack or Discord. + +If you want to just try Plain you can make a demo workspace. Demo workspaces have the full functionality of a real workspace but come with a pre-generated support email adress which you can not change. They are also free! + +If you have multiple sub-products or want to have a staging environment with which to build API integrations out you can also create multiple workspaces to do that. (e.g. "Acme Staging" and "Acme Production"). + +## Users + +When you use Plain, you are a user. As user you have one or more roles which define what you are allowed to do within Plain. + +## Customers + +Within Plain you help customers. Each customer has a name ("Grace Hopper"), short name ("Grace") and one email address. Email addresses are unique across all customers. + +Customers are created automatically based on inbound comms or can be created programatically using our API. When created via the API customers can also have an `externalId` which lets you correlate them to customers in your own system. + +Customers can also belong to one or more customer groups. This let's you organise your customer into logical groups such as "Free-tier", "Enterprise", "Design partner", etc. + +## Threads + +Threads are the core of Plain's data model and equivalent to tickets or conversations in other support platforms. + +Each thread belongs to one customer and has a status which is one of `Todo`, `Done` or `Snoozed`. + +When you use Plain to help a customer you assign yourself to a thread and then mark the thread as done once you're done helping. + +Threads are created automatically by inbound communications or programatically via the API, for example when a contact form is submitted. + +Each thread has a timeline. The timeline contains all relevant communication and events as well as a log of all assignment changes etc. + +## Labels + +Labels are a light-weight way of categorising threads by topic (e.g. bugs, feature requests, demo request etc.). A thread can have one or more labels and each label has a name and an icon that you choose in your settings. + +## Events + +Events allow you to log important key actions or events within your own product in Plain. When a customer gets in touch, you will see the events you created on the thread's timeline. + +Events provide you with additional context of the customer's actions when you are helping them. For example if a customer delets an API key and then reaches out regarding 401 errors, then you immediately know the full context. diff --git a/docs/email-setup.mdx b/docs/email.mdx similarity index 92% rename from docs/email-setup.mdx rename to docs/email.mdx index 54f3036..f833fb4 100644 --- a/docs/email-setup.mdx +++ b/docs/email.mdx @@ -1,5 +1,6 @@ --- -title: 'Setting up email' +title: 'Email' +sidebarTitle: 'Overview' --- Setting up email requires you to complete two steps: @@ -8,13 +9,11 @@ Setting up email requires you to complete two steps: @@ -22,7 +21,7 @@ Setting up email requires you to complete two steps: If you follow this guide, bear in mind that: - All emails sent to that email address will be received by Plain (not your email provider's inbox) -- You can only configure one support email address per Plain workspace +- You can only use one domain per Plain workspace but can use multiple emails for the same domain. If you need to receive a copy of each email sent to the support email address (for instance, to keep a copy in your company's email inbox), there are ways to achieve this. Please get in touch with us by email diff --git a/docs/email/alternate-emails.mdx b/docs/email/alternate-emails.mdx new file mode 100644 index 0000000..0d090b8 --- /dev/null +++ b/docs/email/alternate-emails.mdx @@ -0,0 +1,5 @@ +--- +title: 'Alternate addresses' +--- + +TODO diff --git a/docs/email-setup/receiving-emails.mdx b/docs/email/receiving.mdx similarity index 98% rename from docs/email-setup/receiving-emails.mdx rename to docs/email/receiving.mdx index b168f8a..0e0b509 100644 --- a/docs/email-setup/receiving-emails.mdx +++ b/docs/email/receiving.mdx @@ -2,8 +2,6 @@ title: 'Receiving emails' --- -# Receiving emails in Plain - To receive emails, you need to set up email forwarding from your company's support email address (e.g. `help@yourcompany.com`) to your Plain workspace's inbound email address. Your workspace's inbound email address ends with `@inbound.postmark.app` and can be found in under **Settings** → **Email**. diff --git a/docs/email-setup/sending-emails.mdx b/docs/email/sending.mdx similarity index 99% rename from docs/email-setup/sending-emails.mdx rename to docs/email/sending.mdx index 152b352..b28f561 100644 --- a/docs/email-setup/sending-emails.mdx +++ b/docs/email/sending.mdx @@ -1,5 +1,5 @@ --- -title: 'Sending emails from Plain' +title: 'Sending emails' description: 'To be able to send emails from Plain using your support email address, you will need to add a couple of DNS records to your domain.' --- diff --git a/docs/events-setup.mdx b/docs/events.mdx similarity index 100% rename from docs/events-setup.mdx rename to docs/events.mdx diff --git a/docs/introduction.mdx b/docs/introduction.mdx deleted file mode 100644 index c49a53d..0000000 --- a/docs/introduction.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -title: 'Introduction' -description: 'Plain is the customer support tool for technical B2B products.' ---- - -Wssssse want to bring engineering and support teams together by creating a modern opinionated platform that's fantastic to build with and use. - -Find out more about what Plain can do on [plain.com](https://plain.com) - -### Where should I start? - -First, you should sign-up to Plain by visiting https://app.plain.com/ and following the instructions there. - -The only requirement for you to use Plain is that you [set up email](/pages/email-setup). - -### What can I do with your API? - -Plain is built API-first which means that [app.plain.com](https://app.plain.com) is built using the same API we make available to you. This fundamentally means that you can automate all kinds of support interactions and deeply embed support into your product. - -For example: - -- You can [build a contact form](/pages/contact-forms-setup) which creates a thread in Plain that is pre-categorized and prioritized based on the content in the contact form. -- You can [organize your customers in different groups](/pages/graphql/customers/customer-groups) (e.g. "Enterprise plan", "Starter plan", "Design partners" etc.) so that you can segment your support queue by your different groups. -- You can [add Customer Cards](/pages/customer-cards-setup) to show important data/context about your customers directly in Plain. -- You can [log important events](/pages/events-setup) to a customer's timeline so that you have the full context of their activity when helping them. -- You can use our [webhooks](/pages/webhooks) to build auto-responders, auto-assign threads and much more. - -### Feedback & questions - -If you have any feedback on our docs, we'd love to hear it! Open an issue straight in [Github](https://github.com/team-plain/docs) or drop us an email -at [help@plain.com](mailto:help@plain.com) and an engineer on the team will help you. diff --git a/docs/labels-setup.mdx b/docs/labels.mdx similarity index 100% rename from docs/labels-setup.mdx rename to docs/labels.mdx diff --git a/docs/linear-integration-setup.mdx b/docs/linear.mdx similarity index 100% rename from docs/linear-integration-setup.mdx rename to docs/linear.mdx diff --git a/docs/notifications.mdx b/docs/notifications.mdx new file mode 100644 index 0000000..9d68e75 --- /dev/null +++ b/docs/notifications.mdx @@ -0,0 +1,5 @@ +--- +title: 'Notifications' +--- + +TODO diff --git a/docs/priorities.mdx b/docs/priorities.mdx new file mode 100644 index 0000000..c04fb09 --- /dev/null +++ b/docs/priorities.mdx @@ -0,0 +1,5 @@ +--- +title: 'Priorities' +--- + +TODO diff --git a/docs/quickstart.mdx b/docs/quickstart.mdx new file mode 100644 index 0000000..f0069b1 --- /dev/null +++ b/docs/quickstart.mdx @@ -0,0 +1,11 @@ +--- +title: 'Quickstart' +description: 'Get started with Plain in 10 minutes.' +--- + +TODO + +### Feedback & questions + +If you have any feedback on our docs, we'd love to hear it! Open an issue straight in [Github](https://github.com/team-plain/docs) or drop us an email +at [help@plain.com](mailto:help@plain.com) and an engineer on the team will help you. diff --git a/docs/reporting.mdx b/docs/reporting.mdx new file mode 100644 index 0000000..2be92e5 --- /dev/null +++ b/docs/reporting.mdx @@ -0,0 +1,5 @@ +--- +title: 'Reporting' +--- + +TODO diff --git a/docs/security.mdx b/docs/security.mdx index c495205..a3d09c7 100644 --- a/docs/security.mdx +++ b/docs/security.mdx @@ -1,8 +1,9 @@ --- title: 'Security' -description: 'If you or your team have specific questions about how Plain is built, our processes or how we store and handle data please get in touch at help@plain.com.' --- +If you or your team have specific questions about how Plain is built, our processes or how we store and handle data please get in touch at help@plain.com. + We are very happy to answer any questions you have. ## SOC 2 Type II diff --git a/docs/shortcuts.mdx b/docs/shortcuts.mdx new file mode 100644 index 0000000..2cccdb1 --- /dev/null +++ b/docs/shortcuts.mdx @@ -0,0 +1,5 @@ +--- +title: 'Shortcuts' +--- + +TODO diff --git a/docs/slack.mdx b/docs/slack.mdx new file mode 100644 index 0000000..0b9f276 --- /dev/null +++ b/docs/slack.mdx @@ -0,0 +1,9 @@ +--- +title: 'Slack' +--- + +We're currently iterating and testing bi-directional Slack support internally. + +If you are interested in helping your customers in Slack via Plain please reach out to us at [help@plain.com](mailto:help@plain.com) so we can discuss and get you set up. + +If you'd prefer, you can also [book a demo with us directly](https://cal.com/team/plain/demo). diff --git a/docs/snippets.mdx b/docs/snippets.mdx new file mode 100644 index 0000000..0d6e220 --- /dev/null +++ b/docs/snippets.mdx @@ -0,0 +1,5 @@ +--- +title: 'Snippets' +--- + +TODO diff --git a/docs/syntax-highlighting.mdx b/docs/syntax-highlighting.mdx new file mode 100644 index 0000000..54a512d --- /dev/null +++ b/docs/syntax-highlighting.mdx @@ -0,0 +1,5 @@ +--- +title: 'Syntax highlighting' +--- + +TODO diff --git a/mint.json b/mint.json index 41be60f..b1869d2 100644 --- a/mint.json +++ b/mint.json @@ -50,17 +50,42 @@ ], "navigation": [ { - "group": "Overview", + "group": "Plain 101", + "pages": ["docs/quickstart", "docs/data-model", "docs/security"] + }, + { + "group": "Channels", "pages": [ - "docs/introduction", - "docs/labels-setup", - "docs/linear-integration-setup", - "docs/contact-forms-setup" + { + "group": "Email", + "pages": [ + "docs/email", + "docs/email/receiving", + "docs/email/sending", + "docs/email/alternate-emails" + ] + }, + "docs/contact-forms", + "docs/slack" ] }, { - "group": "Adding context", - "pages": ["docs/customer-cards-setup", "docs/events-setup", "docs/security"] + "group": "Add context", + "pages": ["docs/customer-cards", "docs/customer-groups", "docs/events"] + }, + { + "group": "Using Plain", + "pages": [ + "docs/notifications", + "docs/assignment", + "docs/priorities", + "docs/labels", + "docs/linear", + "docs/syntax-highlighting", + "docs/reporting", + "docs/snippets", + "docs/shortcuts" + ] }, { "group": "GraphQL",