# Set up your DevUps account Source: https://docs.devups.dev/account-setup Create your account, complete your profile, reset your password if needed, and join or create teams to start learning with colleagues. Before you start building learning paths, take a few minutes to set up your account. This page covers signing up, completing your profile, resetting your password, and joining a team. ## Sign up Open [devups.app/auth?tab=signup](https://devups.app/auth?tab=signup). You'll see a form with fields for your name, email, and password. Fill in your first name, last name, email address, and a password. Passwords must be at least six characters long. Confirm your password in the second field, then click **Create Account**. Alternatively, click **Continue with Google** to sign up with your Google account — no password required. Check your inbox for a verification email from DevUps and click the confirmation link. After verification, you'll be redirected to your dashboard. DevUps automatically creates a personal workspace for you the moment you sign up. This workspace is your private default team and is always available, even if you haven't joined any other teams yet. ## Personal workspace vs. team workspaces When you first sign in, your **current team** is set to your personal workspace. This workspace is yours alone — paths you create here are private by default and not visible to anyone else unless you explicitly change their visibility. You can create additional teams (for example, for your company or a specific project) or join teams you've been invited to. Each team has its own shared **Team Paths** tab in the dashboard. Switch between teams using the team switcher in the sidebar. ## Complete your profile After signing up, add your name and avatar so teammates can recognize you. 1. Go to [devups.app/settings/profile](https://devups.app/settings/profile). 2. Enter your **name** and **username**. Your username is how you appear in team activity. 3. Upload an **avatar** by clicking the profile picture area and selecting an image file. 4. Click **Save** to apply your changes. ## Reset your password If you forget your password, you can request a reset link from the sign-in page. Go to [devups.app/auth](https://devups.app/auth) and click **Forgot password?** below the password field. Type the email address associated with your account and click **Send Reset Link**. You'll receive an email with a link to reset your password. Click the link in the email. You'll be taken to [devups.app/reset-password](https://devups.app/reset-password), where you can enter and confirm your new password. Click **Update Password** to save it. Reset links expire after a short time. If your link has expired, return to the sign-in page and request a new one. ## Accept a team invitation If a colleague invites you to their team, you'll receive an invitation by email. Click the **Accept Invitation** link in the email. If you're already signed in, you'll be taken directly to the invitations page. If not, you'll be asked to sign in or create an account first. You can also view and accept pending invitations at [devups.app/invitations](https://devups.app/invitations). Any pending invites appear there as well as in a banner at the top of your dashboard. Once you accept, the team is added to your account and you can switch to it from the team switcher in the sidebar. Team paths shared by members of that team will appear in your **Team Paths** tab. # Manage your DevUps team subscription Source: https://docs.devups.dev/account/billing View your Startup Package plan details, subscription status, and next billing date, and manage payment through the Stripe billing portal. The Billing tab shows your team's current subscription plan, payment status, and next billing date. From here you can open the Stripe billing portal to update your payment method, download invoices, or cancel your subscription. Billing is only visible to the **owner** of a non-personal team workspace. Team admins and members do not see this tab. ## Open billing settings Go to **Settings → Billing** tab. If you do not see the Billing tab, you are either not the team owner or you are viewing a personal workspace. ## What the billing page shows * **Plan name** — Startup Package * **Subscription status** — see the table below * **Next billing date** (or **Access until** date if your subscription is cancelled) ### Subscription statuses | Status | Meaning | | ------------- | ---------------------------------------------------------------------------------------- | | **Active** | Your subscription is current and all features are available | | **Trial** | You are on a trial period; you will need to upgrade before the trial ends to keep access | | **Past Due** | A payment attempt failed; update your payment method to restore full access | | **Cancelled** | Your subscription has been cancelled; you retain access until the period end date | | **Inactive** | No active subscription is associated with this team | ## Manage your subscription Click **Manage Subscription** to open the Stripe billing portal in a new tab. From the portal you can: * Update your payment method * View and download past invoices * Cancel your subscription If your subscription is **Past Due**, DevUps features may be restricted until your payment is resolved. Open the Stripe billing portal immediately and update your payment method to avoid losing access to your team's learning data. # Manage DevUps notification preferences Source: https://docs.devups.dev/account/notifications Control which email and in-app notifications DevUps sends you, including team invitations, path updates, and team activity alerts. DevUps lets you choose exactly which events trigger an email or an in-app alert. All notification preferences are saved automatically when you toggle them — there is no Save button. ## Open notification settings Go to **Settings → Notifications** tab, or navigate to `/settings/notifications`. ## Email notifications Email notifications are sent to the address on your account. | Notification | Default | Description | | ------------------------- | ------- | ----------------------------------------------- | | **Team Invitations** | On | Sent when someone invites you to join a team | | **Learning Path Updates** | On | Sent when a learning path you follow is updated | | **Weekly Digest** | Off | A weekly summary of your learning progress | ## In-app notifications In-app notifications appear inside DevUps while you are using the platform. | Notification | Default | Description | | ----------------- | ------- | --------------------------------------------------- | | **New Content** | On | Alerts you when new learning paths become available | | **Team Activity** | On | Alerts you about activity in teams you belong to | ## How preferences are saved Notification preferences are saved in your current browser. If you clear your browser data or switch to a different browser or device, your preferences will reset to their defaults. Each toggle saves immediately — changes take effect the next time a qualifying event occurs. # Update your DevUps profile and settings Source: https://docs.devups.dev/account/profile Edit your username, display name, phone number, and profile picture, and manage your theme, language, password, and account deletion from Settings. Your DevUps profile stores the personal information other team members see — your username, display name, and avatar. You can update these details at any time from the Profile page, and control appearance preferences and security options from the broader Settings area. ## Edit your profile Navigate to `/settings/profile` in the app, or open **Settings** and click **Edit Profile** from the General tab. Go to **Settings → Edit Profile**, or navigate directly to `/settings/profile`. Fill in any of the following fields and click **Save Changes**. | Field | Required | Notes | | ---------- | -------- | ---------------------------------------------------------------------------------------------------- | | Username | Yes | Minimum 3 characters; lowercase letters, numbers, and underscores only; must be unique across DevUps | | First name | No | — | | Last name | No | — | | Phone | No | — | Your email address is read-only and cannot be changed from this page. ## Change your profile picture On the Profile page, click the camera icon overlaid on your avatar. Choose any image file from your device. The file must be under 2 MB. If the upload fails, check that your image is under 2 MB and is a valid image format (JPG, PNG, GIF, and similar formats are accepted). ## Appearance settings Appearance preferences are in **Settings → General**. Choose between **Light**, **Dark**, or **System** (matches your OS preference). The change applies immediately. Select your preferred interface language. Available options: English, Español, Français, Deutsch, Português. ## Change your password Go to **Settings → Security** and click **Change Password**. You will be redirected to `/reset-password` to complete the process. ## Delete your account Account deletion is permanent and cannot be undone. All learning paths you created, your progress on every path, and all team memberships are removed immediately. To request account deletion, go to **Settings → Security** and click **Delete Account**. Confirm the dialog to submit your deletion request. # Import Confluence docs into learning paths Source: https://docs.devups.dev/integrations/confluence Connect your Confluence workspace to DevUps and search for pages to import directly into learning paths from the Add Resource form. The Confluence integration lets you search your Confluence workspace and add pages as resources in DevUps learning paths. Once connected, a Browse modal gives you a searchable view of your Confluence content so you can select and import multiple pages at once. ## Connect Confluence Go to **Settings → Integrations** in your team workspace. Click **Connect Confluence** on the Confluence card. A popup opens and redirects you to Atlassian's authorization page. Review the requested permissions and click **Accept**. The popup closes and the Confluence card updates to show a **Connected** badge with your Confluence workspace name. The connection is per team. Each team workspace authorizes Confluence separately. If you belong to multiple teams, you'll need to connect Confluence for each one individually. The Confluence integration requires that the Atlassian account you authorize actually has Confluence access. If you see a **"No Confluence access found"** error after authorizing, the account you used doesn't have a Confluence site attached. Contact your Atlassian admin to confirm you have the right account and Confluence access. ## Import Confluence pages In the Add Resource form on your learning path, click the **Browse** button and select **Confluence** from the dropdown. The Browse Confluence modal opens. Type in the search field to filter pages by title. Results update as you type. Scroll down and click **Load More** to see additional results beyond the initial set. Check the pages you want to import. Each result shows the page title, the Confluence space it belongs to, and the date it was last modified. Use **Select all** to select every page in the current results. Click **Import**. Each selected page is added to the learning path as a separate resource item, linked back to its Confluence URL. The Confluence space name appears as the resource description. ## Disconnect Confluence Go to **Settings → Integrations**, find the Confluence card, and click **Disconnect**. Confirm the action in the dialog that appears. Disconnecting removes the connection to your Confluence workspace. You can reconnect at any time, but you'll need to authorize access again. Resources already imported into your learning paths are not deleted. To switch to a different Atlassian account or Confluence site, click **Edit Access** to re-run the OAuth flow. ## Troubleshooting **"No Confluence access found" error after connecting** This error means the Atlassian account you authorized does not have access to any Confluence site. Common causes: * You authorized with a personal Atlassian account instead of your work account * Your account exists but hasn't been granted Confluence access by your admin * Your organization uses a different Atlassian account for Confluence than for other tools Ask your Confluence admin to confirm which account to use, then click **Connect Confluence** again to re-authorize with the correct account. # Import GitHub docs into learning paths Source: https://docs.devups.dev/integrations/github Connect your GitHub account to DevUps and import README files, wiki pages, and markdown files from your repositories directly into learning paths. The GitHub integration lets you pull documentation from your repositories into DevUps learning paths. Paste a repository or file URL and DevUps detects markdown files automatically — or browse your repos directly from the Add Resource form to pick specific files. ## Connect GitHub Go to **Settings → Integrations** in your team workspace. Click **Connect GitHub** on the GitHub card. A popup opens and redirects you to GitHub's authorization page. Review the requested permissions and click **Authorize**. The popup closes and the GitHub card updates to show a **Connected** badge with your GitHub account name. The connection is per team. Each team workspace authorizes GitHub separately. If you belong to multiple teams, you'll need to connect GitHub for each one individually. ## Import GitHub content Once connected, you have two ways to import GitHub files into a learning path. ### Paste a URL Copy the URL of a GitHub repository or a specific markdown file from your browser. In the Add Resource form on your learning path, paste the URL into the **URL** field. DevUps detects it as a GitHub URL and fills in the **Title** field. If the URL points to a repository, DevUps scans for markdown files (`.md`, `.mdx`, `.markdown`) including `README.md` and any documentation files at the root level. A checklist of detected files appears below the form. All files are selected by default — uncheck any you don't want to include. Click **Add Resource** (or **Add N Resources** if multiple files are selected). Each markdown file becomes a separate resource item in the path, linked to its GitHub URL. ### Browse your repositories In the Add Resource form, click the **Browse** button and select **GitHub** from the dropdown. The Browse GitHub modal opens. The left panel lists your repositories. Click a repository to open its file tree in the right panel. Browse folders by clicking them. Markdown files are highlighted and pre-selected. You can check or uncheck individual files, or use **Select all markdown** to toggle all markdown files in the current folder. Selections persist as you navigate between folders. Click **Import**. Each selected file is added to the learning path as a separate resource item, with its path and repository name as the description. The modal shows repositories you have access to via the connected GitHub account, including private repositories. Markdown files are highlighted with an **MD** badge to make them easy to spot. ## What gets imported Each markdown file becomes a resource item linked to the file's GitHub URL. The resource title is the filename with the extension removed (for example, `CONTRIBUTING.md` becomes `CONTRIBUTING`). The description includes the repository name and the file path within the repo. ## Disconnect GitHub Go to **Settings → Integrations**, find the GitHub card, and click **Disconnect**. Confirm the action in the dialog that appears. Disconnecting removes the connection to your GitHub account. You can reconnect at any time, but you'll need to authorize access again. Resources already imported into your learning paths are not deleted. To switch to a different GitHub account, click **Edit Access** to re-run the OAuth flow. # Import Notion pages into learning paths Source: https://docs.devups.dev/integrations/notion Connect your Notion workspace to DevUps and import pages by URL or by browsing and searching your workspace directly from the Add Resource form. The Notion integration lets you bring Notion pages into DevUps learning paths without copying and pasting. Paste a page URL and DevUps fills in the title automatically — or open the browse modal to search across your entire workspace and select multiple pages at once. ## Connect Notion Go to **Settings → Integrations** in your team workspace. Click **Connect Notion** on the Notion card. A popup opens and redirects you to Notion's authorization page. Select the Notion workspace you want to connect and click **Allow access**. The popup closes and the Notion card updates to show a **Connected** badge with your workspace name. The connection is per team. Each team workspace authorizes Notion separately. If you belong to multiple teams, you'll need to connect Notion for each one individually. ## Import Notion content Once connected, you have two ways to import Notion pages into a learning path. ### Paste a URL Open any page in Notion and copy its URL from the browser address bar or from **Share → Copy link**. In the Add Resource form on your learning path, paste the URL into the **URL** field. DevUps detects it as a Notion page and automatically fills in the **Title** field. If the page has child pages, DevUps shows a checklist of sub-pages below the form. All child pages are selected by default. Uncheck any you don't want to include. Click **Add Resource** (or **Add N Resources** if child pages are selected). Each selected page becomes a separate resource item in the path, linked back to the original Notion URL. ### Browse your workspace In the Add Resource form, click the **Browse** button and select **Notion** from the dropdown. The Browse Notion modal opens. Type in the search field to filter pages by title. Results update as you type. Scroll down and click **Load More** to see additional results. Check the pages you want to import. Use **Select all** to select every page in the current results. Click **Import**. Each selected page is added to the learning path as a separate resource item. ## Disconnect Notion Go to **Settings → Integrations**, find the Notion card, and click **Disconnect**. Confirm the action in the dialog that appears. Disconnecting removes the connection to your Notion workspace. You can reconnect at any time, but you'll need to authorize access again. Resources already imported into your learning paths are not deleted. To switch to a different Notion workspace, click **Edit Access** instead of disconnecting. This re-runs the OAuth flow and lets you select a different workspace. # Connect your tools to DevUps Source: https://docs.devups.dev/integrations/overview Link Notion, GitHub, and Confluence to your team workspace to import external content directly into learning paths without leaving DevUps. Integrations let you pull content from the tools your team already uses and add it to learning paths as resource items. Once connected, DevUps can read page titles, detect markdown files, and let you browse your workspace — so you spend less time copying links by hand. ## How integrations work Each integration connects at the **team workspace level**, not per user. Any team member can use a connected integration to browse and import content, but only team owners or admins typically manage the connection itself. When at least one integration is active, a **Browse** dropdown appears in the Add Resource form. Click **Browse** and choose a provider to open a search modal where you can select pages or files to import in bulk. Each item you select becomes a separate resource in the learning path, linked back to the original source. You can also paste a URL directly into the resource form. If DevUps recognizes the URL as a Notion page or GitHub repo, it auto-fills the title and shows additional items (child pages or markdown files) you can include alongside the main resource. ## Manage integrations Go to **Settings → Integrations** to connect, disconnect, or re-authorize any integration. Each card shows: * **Connection status** — a badge indicating whether the integration is connected * **Workspace or account name** — the Notion workspace, GitHub account, or Confluence site that is linked * **Connected date** — when the connection was established To change which account is linked, click **Edit Access** to re-run the OAuth flow. Disconnecting an integration removes the connection but does not delete any resources that were already imported into your learning paths. ## Available integrations Import pages from your Notion workspace by URL or by browsing and searching. Import README files, wiki pages, and other markdown files from your repositories. Search and import pages from your Confluence workspace. # DevUps: Level up your team's learning Source: https://docs.devups.dev/introduction DevUps helps teams build and share structured learning paths from curated links, Notion, GitHub, and Confluence — then track progress across the whole org. DevUps is a collaborative learning platform for developer teams. You build structured **learning paths** — ordered collections of links, articles, videos, and documentation — and share them with your team or the public. As team members work through each path, you can track their progress in real time. Create your first learning path in under 5 minutes. Understand how to build and organize learning paths. Invite colleagues and collaborate on shared learning. Import content from Notion, GitHub, and Confluence. ## What you can do with DevUps DevUps is built around three core workflows: **Create** — Assemble a learning path by adding URLs to articles, videos, tutorials, or documentation. Pull content directly from Notion, GitHub repositories, or Confluence with a single click. Add titles, descriptions, difficulty levels, and estimated durations to give learners context. **Share** — Control who sees each path. Keep it private for personal use, share it with your team, or publish it publicly so the whole DevUps community can discover it. **Track** — See who has registered for a path, how far they've progressed, and who has completed it. Admins and owners get a full analytics view across all team paths. ## How DevUps is organized Sign up, confirm your email, and get oriented. Monitor completion rates and individual learner progress. Manage your team's subscription and payment details. Configure email and in-app alerts. # Create a learning path in DevUps Source: https://docs.devups.dev/paths/create Build a curated, ordered collection of resources for your team by setting metadata, adding links or integration imports, and controlling visibility. You can create a learning path from scratch by filling in a few fields and adding the resources you want learners to work through. DevUps also lets you pull content directly from Notion, GitHub, or Confluence if those integrations are connected — saving you from copying links one by one. ## Create a path Navigate to `/paths/new`, or click **Create Path** from the dashboard or the **Learning Paths** page. Complete the fields in the **Basic Information** section: * **Title** (required) — Give the path a clear, descriptive name, for example "Frontend Development Fundamentals". * **Description** — Summarize what learners will achieve after completing the path. * **Visibility** — Choose who can access the path: * **Private – Only you** keeps the path visible only to you. * **Team – Your team members** shares the path with everyone in your current team. This option is only available in a team workspace. * **Public – Everyone** publishes the path so anyone can find and view it. * **Difficulty level** — Select Beginner, Intermediate, or Advanced. * **Estimated duration** — Enter a free-text estimate such as "2–3 hours" or "1 week". In the **Tags** field, type a keyword and press **Enter** to add it. Repeat for as many tags as you need. Tags help teammates and the community find your path. To remove a tag, click the **×** next to it. Under **Learning Content**, paste a URL into the **URL** field. Enter a title for the resource — DevUps auto-fills the title when it detects a connected Notion page or GitHub file. Optionally add a description and a duration estimate for the item, then click **Add Resource**. Repeat this step until you have added all the resources you want to include. Each resource in the list has up and down arrow buttons. Click the arrows to move a resource into the correct position. Learners work through items in the order shown. To edit a resource inline, click the **pencil icon** next to it. Update the title, URL, description, or duration estimate, then click **Save**. To remove a resource, click the **trash icon**. Click **Create Learning Path** to save. DevUps creates the path and redirects you to the path detail page. ## Importing from integrations If you have connected Notion, GitHub, or Confluence to your team, a **Browse** dropdown button appears next to the URL field. Click it and select an integration to open a browse modal where you can pick multiple pages or files at once and import them all as resources in a single action. When you paste a Notion or GitHub URL directly into the URL field, DevUps automatically detects the source and fetches the page title for you. For Notion pages with child pages, DevUps also offers to import the sub-pages as additional resources. If you are building a path from a Notion database, a GitHub repository, or a Confluence space, use the **Browse** button to import content in bulk rather than pasting URLs one at a time. All imported items land in your resource list ready to reorder. ## Editing an existing path The same form is used for editing. Open a path, click **Edit**, and make your changes. Click **Save Changes** when you are done. You can add, remove, or reorder resources, and change any metadata including visibility. Changing visibility from **Team** to **Private** will hide the path from your teammates immediately. Any progress data already recorded is preserved. # Manage and organize your learning paths Source: https://docs.devups.dev/paths/manage Filter, search, edit, and delete your learning paths from the /paths page, and understand how team visibility affects where a path appears. The **Learning Paths** page at `/paths` is the central place to find and manage every path you have access to. From here you can filter by visibility or status, search across all paths, and take actions on individual paths. ## Filtering and searching The page provides three controls to narrow down which paths are shown: **Visibility filter** — Limits paths to a specific audience: | Option | Shows | | -------------- | --------------------------------------------------------------- | | All Visibility | Every path you can access | | Private | Paths only visible to you | | Team | Paths shared with your team (only available in team workspaces) | | Public | Paths visible to everyone | **Status filter** — Limits paths by your registration and progress state: | Option | Shows | | ----------- | ---------------------------------------------------------- | | All Status | Every path | | Registered | Paths you have registered for | | In Progress | Paths you have registered for and started but not finished | | Completed | Paths where you have marked every item complete | **Search** — Type into the search box to match paths by title, description, or any tag. The filter applies immediately as you type. You can combine all three controls at the same time. To reset, clear the search field and set both dropdowns back to **All**. ## Editing a path Only the path owner sees edit controls. To edit a path: 1. Hover over the path card — a three-dot menu (**⋯**) appears in the top-right corner. 2. Click the menu and select **Edit**. Alternatively, open the path detail page and click the **Edit** button in the header. Both routes take you to the same edit form where you can update metadata, add or remove resources, reorder items, and change visibility. ## Deleting a path Deleting a path is permanent and cannot be undone. All resources and registration data associated with the path are removed. To delete a path: 1. Hover over the path card and click the three-dot menu (**⋯**). 2. Select **Delete**. 3. Confirm in the dialog that appears. You can also delete a path from the path detail page using the **Delete** button in the header. ## Team paths When you set a path's visibility to **Team**, it becomes visible to all members of the team it belongs to. Team paths appear: * On the **Learning Paths** page for every team member (filterable by the **Team** visibility option). * In the **Team Paths** tab on the dashboard. * Under the team's URL context at `/teams/:teamSlug/paths/:pathSlug`. If you switch a workspace from a team to a personal workspace, the **Team** visibility option is hidden for new paths. Existing team-visibility paths remain accessible but are flagged for review. Only the path owner can edit or delete a path, even if the path is shared with a team. Team admins and owners can view analytics for all team paths but cannot modify paths they did not create. # What are learning paths in DevUps? Source: https://docs.devups.dev/paths/overview Learning paths are ordered resource collections with private, team, and public visibility controls, progress tracking, and a community discovery feed. A learning path is an ordered list of resources — links to articles, videos, tutorials, or documentation — that you curate to help someone learn a topic from start to finish. You set the context with metadata like a title, description, difficulty, and estimated duration, then share the path privately, with your team, or publicly with the entire DevUps community. ## What a learning path contains Each path has two parts: the path itself and the items (resources) inside it. **Path metadata** describes the learning journey at a glance: | Field | Description | | ---------------------- | ------------------------------------------------------------------------- | | **Title** | Required. The name of the learning path. | | **Description** | A summary of what learners will achieve. | | **Tags** | Keywords that make the path discoverable. Press **Enter** after each tag. | | **Difficulty** | One of Beginner, Intermediate, or Advanced. | | **Estimated duration** | Free-text estimate, for example "2–3 hours" or "1 week". | **Path items** are the individual resources inside the path. Each item has a title, URL, optional description, content type, and an optional duration estimate. Items are ordered — learners work through them in sequence. ## Visibility levels When you create or edit a path, you choose who can see it: * **Private** — Only you can see and access the path. * **Team** — All members of your current team can see the path. This option only appears when you are in a team workspace (not a personal workspace). * **Public** — Anyone can find and view the path, including people who are not signed in. You can change a path's visibility at any time by editing it. ## Registration and progress tracking To track your progress through a path, you register for it. Registering links your account to the path so DevUps can record which items you complete. Once registered, you mark individual items as complete directly on the path detail page. A progress bar shows your completion percentage as you go. When you mark the last item complete, DevUps plays a confetti celebration to mark the moment. Path owners see a read-only progress badge on their own paths instead of a registration button, since they authored the content. Registration is required to track progress. You can unregister from a path at any time, but doing so does not delete your completion data. ## Discovering public paths The **Discover** tab on your dashboard surfaces public learning paths created by the wider DevUps community. You can also browse the public paths index at `/explore` without signing in — useful for sharing a path with someone who does not yet have an account. Public paths are sorted by how many users have completed them, so the most battle-tested content rises to the top. ## Next steps Build your first learning path step by step. Learn how registration, item completion, and analytics work. # Track learning progress in DevUps Source: https://docs.devups.dev/paths/track-progress Register for learning paths, mark items complete, and monitor team-wide completion rates and per-learner progress from the DevUps Analytics page. DevUps tracks learning progress at two levels: your personal progress through each path you are enrolled in, and team-wide completion data that path owners and admins can view in the Analytics page. ## Registering for a path To start tracking your progress through a path, register for it. You can register from two places: * **Path card** — Click the **Register** button on any path card on the Learning Paths page or the dashboard. * **Path detail page** — Open the path and click **Register** in the header. Once you register, DevUps links your account to the path so it can record which items you complete. The button updates to show **Registered**, and a progress bar appears on the path detail page. Path owners do not see a registration button on their own paths. Instead, they see a read-only progress badge that reflects their own completion of the items they authored. ## Marking items complete Open a path detail page to see all its resources in order. Each item has a circle icon on its left side. Click the circle to mark the item complete — it changes to a filled check and the item's title gets a strikethrough to show you have finished it. Click the icon again to unmark it. The **Your Progress** bar at the top of the items list updates in real time: it shows how many items you have completed out of the total, and the percentage fills across the bar. ## Path completion When you mark the last item in a path complete, DevUps confirms you have finished with a confetti animation and a congratulations toast. The registration button on path cards updates to show **Complete** with a green badge. ## Unregistering from a path To stop tracking a path, click **Registered** on the path detail page header. The button toggles to **Unregister** — click it again to confirm. Unregistering removes your registration record, but your completion data for individual items is preserved if you re-register later. ## Analytics for path owners and admins The **Analytics** page at `/analytics` gives path owners and team admins a table of all learning paths they have access to, with the following columns per path: | Column | What it shows | | ------------------- | ----------------------------------------------------- | | **Items** | Total number of resources in the path | | **Registered** | Number of users currently registered | | **Completed** | Number of registered users who finished every item | | **Completion rate** | Completions divided by registrations, as a percentage | Click any row to expand it and see a breakdown of individual learner progress: each registered user's name, registration date, a progress bar, and their completed item count. The analytics data updates in real time — as learners register, mark items complete, or unregister, the table refreshes automatically. ### Who can see analytics Team admins and owners see analytics for **all team paths** in the current workspace — including paths created by other team members. Regular team members see analytics only for **paths they created**. They cannot view other members' path statistics or the individual learner breakdown for paths they do not own. In a personal workspace, the Analytics page shows all paths owned by you, regardless of visibility. # Get started with DevUps in minutes Source: https://docs.devups.dev/quickstart Sign up for DevUps, explore your Learning Paths page, create your first curated path, add resources, and share it with your team — in under five minutes. DevUps lets you build structured learning paths from curated links and share them with your team. This guide walks you through everything from creating your account to sharing your first path. Go to [devups.app/auth?tab=signup](https://devups.app/auth?tab=signup). Enter your first name, last name, email address, and a password of at least six characters, then click **Create Account**. You can also sign up with Google by clicking **Continue with Google**. If you already have an account, go to [devups.app/auth](https://devups.app/auth) and sign in instead. After signing up, check your inbox for a verification email from DevUps. Click the link in the email to confirm your address. Once verified, you'll be taken directly to your dashboard. If the email doesn't arrive within a few minutes, check your spam folder. After signing in, you land on your **Learning Paths** page at `/paths`. From here you can see every path you have access to. Your dashboard at `/dashboard` also shows paths organized into three tabs: * **My Paths** — learning paths you've created. * **Team Paths** — paths shared with your current team by other team members. * **Discover** — public paths published by the broader DevUps community. Click **Create Path** in the top right to start building your first path. Click **Create Path** to open the path editor. Give your path a title and an optional description. You can also add tags and an estimated duration to help learners know what to expect. Inside the path editor, add your first resource by pasting a URL and entering a title for the link. Resources can be articles, videos, documentation pages, tutorials, or any URL you want learners to visit. Repeat this for as many resources as your path needs. You can reorder them at any time. Click **Create Learning Path** to save. DevUps creates the path and takes you to the path detail page. New paths are **Private** by default, meaning only you can see them. To share the path, open its settings and change the **Visibility** field: * **Team** — visible to all members of your current team. * **Public** — visible to anyone on DevUps, including non-members. Save the visibility change. Team members will now see the path in their **Team Paths** tab. Learn how to build, organize, and manage learning paths in depth. Invite colleagues, manage roles, and collaborate on shared paths. # Create a team workspace in DevUps Source: https://docs.devups.dev/teams/create Walk through creating a new DevUps team workspace, completing your Stripe subscription, uploading a team avatar, and renaming the team after setup. A team workspace gives you a shared environment where you can invite colleagues, publish team-visible learning paths, and view analytics across all members. Creating a team takes a few minutes and requires completing a subscription through Stripe. ## Create a new team Navigate to **/team** in the app. In the top-right area of the page, click **New Team**. Alternatively, go directly to `/team/create`. Type a name for your team in the **Team Name** field. Team names must be unique across all DevUps team workspaces — if the name is already taken, you'll see an error and need to choose a different one. You can also add an optional **Description** to help members understand the team's purpose. Click **Continue to Payment**. DevUps validates that the team name is available before proceeding. Review the subscription details on the payment step, then click **Subscribe - \$5/month**. You'll be taken to Stripe to complete the payment securely. Stripe checkout opens in a new tab. Once payment is confirmed, this page detects the completed payment automatically and redirects you to your new team. After payment is confirmed, DevUps creates your team workspace and sets you as the **Owner**. You're redirected to `/team`, where you can start inviting members and creating learning paths. ## Upload a team avatar Owners and admins can add a visual identity to the team with an avatar image. Navigate to **/team** while the team workspace is selected in the sidebar. Hover your cursor over the team avatar in the top-left area of the page header. A camera icon appears in the center of the avatar. Click the camera icon to open the file picker. Select an image file from your device. Images must be 2 MB or smaller. Only image file types are accepted (JPEG, PNG, GIF, WebP, etc.). The avatar updates automatically once the upload finishes. You'll see a confirmation message in the bottom-right corner of the screen. ## Rename a team Owners can rename a team workspace at any time. Admins can also rename the team. Navigate to **/team** and click the **pencil icon** next to the team name in the page header. The rename dialog appears. Type the new team name. Names must be unique — the system checks for conflicts before saving. Click **Save**. The team name updates throughout the app, including the sidebar workspace switcher. The pencil icon only appears for non-personal team workspaces. Your personal workspace cannot be renamed. # Invite teammates to your DevUps team Source: https://docs.devups.dev/teams/invite-members Send email invitations to teammates with a 7-day link, manage pending invites, resend or revoke them, and learn how recipients accept an invitation. Owners and admins can invite anyone to a team workspace by email. The invited person receives a link that's valid for seven days. Once they accept, they become a member of the team with the role you assigned. ## Send an invitation Go to **/team** while the team workspace is selected in the sidebar. Click **Invite Member** in the top-right area of the page. The invite dialog opens. Type the email address of the person you want to invite in the **Email address** field. If the email address already belongs to a team member, you'll see an "Already a member" error. If a pending invitation was already sent to that address, you'll see an "Already invited" error. In both cases, no duplicate invitation is created. Choose a role from the **Role** dropdown: * **Member** — Can view and create content * **Admin** — Can also manage members See [Roles & permissions](/teams/roles) for a full breakdown of what each role can do. Click **Send Invitation**. DevUps sends an email to the address with a link to join the team. The link is valid for **7 days**. ## Manage pending invitations After sending an invitation, it appears in the **Pending Invitations** tab on `/team`. The tab is only visible to owners and admins. Each pending invitation shows the recipient's email, the assigned role, and the expiry date. You have three actions available: Click the **link icon** to copy the direct invite URL to your clipboard. The link has the format `/auth?invite=TOKEN`. You can paste it into a message to send the invitation manually. Click the **refresh icon** to resend the invitation email. This also extends the expiry by another 7 days from the moment you click. Click the **trash icon** to permanently delete the invitation. The link in the original email stops working immediately. You can send a new invitation to the same email address after revoking. ## How recipients accept an invitation The person you invited receives an email with a join link. They can accept the invitation in two ways: Click the link in the invitation email. It opens `/auth?invite=TOKEN` in the browser. If the person isn't signed in, they'll be prompted to sign in or create an account first. Once authenticated, the invitation is accepted automatically. Sign in to DevUps and go to **/invitations**. All pending invitations for the signed-in account appear here. Click **Accept** to join a team or **Decline** to dismiss the invitation. Invitation links expire after 7 days. If a link has expired, an admin or owner needs to resend the invitation to generate a new one. # Collaborate with teams in DevUps Source: https://docs.devups.dev/teams/overview Learn how DevUps team workspaces differ from personal workspaces, what collaboration features they unlock, and how to switch between them in the sidebar. DevUps gives every account two kinds of workspaces: a personal workspace that's created for you automatically when you sign up, and team workspaces that you create to collaborate with others. Understanding the difference helps you decide where to build and share your learning content. ## Personal workspace vs. team workspaces Your **personal workspace** is private by default and is created automatically when you sign up. It's ideal for learning paths you're building for yourself or experimenting with before sharing. Personal workspaces have one limitation: you can't add other members or assign team-level visibility to paths. **Team workspaces** are separate workspaces you create and invite others to join. They're designed for collaboration: team members can contribute to shared learning paths, and owners and admins get a full analytics view across all content in the workspace. Your personal workspace cannot be renamed or deleted. It always shows "Personal Workspace" as its type in the team header. ## What teams unlock Publish learning paths so every member of the team can find and register for them. Invite colleagues by email and assign them roles with different levels of access. Owners and admins can see completion rates and progress across all team paths — not just their own. Control who can invite members, manage content, and change team settings with the Owner, Admin, and Member roles. ## Switching between workspaces Use the **workspace switcher** in the sidebar to move between your personal workspace and any team workspaces you belong to. Click the switcher to see the full list, then select the workspace you want to work in. The header updates to show the selected team's name and avatar. If you've just accepted a team invitation and don't see the team yet, try switching workspaces — the switcher refreshes when you change selection. ## Next steps Set up a new team workspace and become its owner. Send email invitations and manage pending invites. Understand what each role can and can't do. # Team roles and permissions in DevUps Source: https://docs.devups.dev/teams/roles Understand the Owner, Admin, and Member roles in DevUps team workspaces, compare their permissions in a full table, and learn how to update a member's role. Every member of a team workspace is assigned one of three roles: Owner, Admin, or Member. Roles control what actions a person can take within the team — from managing content to inviting new members and changing team settings. ## Role overview Full control over the team. Can rename the team, manage all members and roles, and cannot be removed. There is always exactly one owner per team. Can invite and remove members, change member roles (excluding the owner), and view analytics for all team paths. Can view and create learning paths and see analytics for their own paths. Cannot manage other members or team settings. ## Permissions table | Action | Owner | Admin | Member | | ------------------------------- | :---: | :----------: | :----: | | Create learning paths | ✓ | ✓ | ✓ | | Set team-visibility on paths | ✓ | ✓ | ✓ | | View own path analytics | ✓ | ✓ | ✓ | | View team analytics (all paths) | ✓ | ✓ | — | | Upload team avatar | ✓ | ✓ | — | | Invite members | ✓ | ✓ | — | | Remove members | ✓ | ✓ | — | | Change member roles | ✓ | Members only | — | | Rename team | ✓ | — | — | Admins can change the role of Member-level accounts only. Only the Owner can promote a Member to Admin or demote an Admin to Member. ## Change a member's role Navigate to **/team** while the team workspace is selected in the sidebar. The **Members** tab lists everyone in the team along with their current role. Click the role dropdown next to the member's name and select the new role. The change saves immediately and the member's permissions update right away. The Owner role cannot be changed or removed through the members list. There is always exactly one owner per team, and the owner cannot be removed from the team.