Skip to main content

Quickstart guide

This guide will walk you through creating an account, setting up your first organization, and posting your first job on WeGotWork.

Prerequisites

Before you begin, make sure you have:
  • A Google account for OAuth sign-in (or email/password)
  • Your company information ready
  • A job description to post

Step 1: Create your account

1

Navigate to the sign in page

Visit wegotwork.co/auth to access the authentication page.
2

Sign in with Google

Click the “Sign in with Google” button to authenticate with your Google account.
// The sign-in component uses Better Auth's social provider
<Button
  onClick={async () => {
    await signIn.social({
      provider: "google",
      callbackURL: "/",
    });
  }}
>
  Sign in with Google
</Button>
3

Complete authentication

After successful authentication, you’ll be redirected to the dashboard where you can create your organization.
Your session will remain active for 7 days. After that, you’ll need to sign in again.

Step 2: Create your organization

Once authenticated, you’ll need to create an organization (workspace) for your company.
1

Access the organization creator

From the dashboard, you’ll be prompted to create your first organization.
2

Enter organization details

Provide:
  • Organization name: Your company name (e.g., “Acme Corp”)
  • Slug: A unique URL identifier (e.g., “acme” becomes acme.wegotwork.co)
  • Description (optional): Brief description of your company
  • Website (optional): Your company website URL
3

Submit and create

Click create to set up your organization. This will:
  • Create your organization workspace
  • Set you as the owner
  • Initialize default job categories
  • Generate your career page URL
// Behind the scenes, this creates the organization with default categories
const organization = await prisma.organization.create({
  data: {
    name: name,
    slug: slug,
    users: {
      create: {
        userId: session.user?.id,
        role: "owner",
      },
    },
    categories: {
      create: [
        { name: "Software Development", order: 1 },
        { name: "Finance", order: 2 },
        { name: "Operations", order: 3 },
        { name: "HR & Recruiting", order: 4 },
        { name: "Security", order: 5 },
      ],
    },
  },
});
The organization slug must be unique across all WeGotWork users. Choose carefully as it becomes your public career page URL.

Step 3: Post your first job

Now you’re ready to create and publish your first job posting.
1

Navigate to Jobs

From the left sidebar, click on “Jobs” to access the jobs management page.
2

Create a new job

Click the “Create Job” button and enter a job title.
// Create job action validates and creates the job
const CreateJobSchema = z.object({
  title: z.string().min(1, "Title is required"),
  id: z.string(),
});

const job = await prisma.job.create({
  data: {
    title: title,
    content: "",
    organizationId: organization.id,
  },
});
3

Fill in job details

Complete the job posting with:
  • Title: Position name (e.g., “Senior Software Engineer”)
  • Type: Full-time, Part-time, Contract, or Internship
  • Location: Country and city
  • Remote: Toggle for remote positions
  • Category: Select from your job categories
  • Content: Job description with requirements and benefits
// Job types available in the schema
enum Type {
  fulltime
  parttime
  internship
  contract
}
4

Save and publish

Click “Save” to publish your job. It will immediately appear on your public career page.
Job postings are immediately visible on your career page at yourslug.wegotwork.co after saving.

Step 4: Share your career page

Your career page is now live! Share it with candidates:
  • Public URL: https://yourslug.wegotwork.co
  • Add it to your company website
  • Share on social media
  • Include in job boards

Next steps

Now that you’ve posted your first job, you can:

Manage applicants

Review and track applications as they come in

Customize categories

Add or modify job categories to match your needs

Invite team members

Add colleagues to collaborate on hiring

Track analytics

Monitor job performance and applicant metrics

Common workflows

Managing applicants

When candidates apply to your jobs:
  1. Navigate to the Applicants page
  2. Filter by job posting
  3. Review applicant details and resume
  4. Update status through the pipeline:
    • Submitted → Under Review → Interview → Offer → Hired/Rejected
// Applicant status workflow
enum Status {
  SUBMITTED
  UNDERREVIEW
  INTERVIEW
  OFFER
  REJECTED
  HIRED
}

Inviting team members

  1. Go to Settings → Members
  2. Enter the team member’s email
  3. Select their role (Owner or Member)
  4. Send invitation
  5. They’ll receive an email to join your organization
Owners have full access to manage jobs, applicants, and settings. Members can view and manage applicants but cannot modify organization settings.

Build docs developers (and LLMs) love