Getting Started with Projects
This guide will walk you through creating your first project, understanding its structure, adding team members, and organizing your work effectively within the Workspace Platform.
Before You Begin
To create a project, you need:
- Workspace Membership: Access to an active workspace
- Create Permission:
create:projectpermission in the workspace - Project Name: Descriptive name for your project
Every workspace comes with a default project called "My Project" that's created automatically. You can use this immediately or create additional projects.
Step 1: Create Your First Project
Using the Web Interface
-
Navigate to Projects
- Log into the Workspace Platform
- Select your workspace
- Go to the "Projects" section
- Click "Create New Project"
-
Enter Project Details
- Name (Required): Enter descriptive project name
- Examples: "Customer Portal Backend", "Mobile App iOS", "Marketing Campaign Q1"
- Name (Required): Enter descriptive project name
-
Create Project
- Click "Create Project"
- System creates project and adds you as member
- Project is ready to use immediately
Using the GraphQL API
mutation CreateProject {
createProject(
input: {
name: "Customer Portal Backend"
}
) {
id
name
workspaceID
key
archived
createdAt
projectMembers {
id
userID
user {
firstName
lastName
}
}
}
}
Response:
{
"data": {
"createProject": {
"id": "project-uuid",
"name": "Customer Portal Backend",
"workspaceID": "workspace-uuid",
"key": "project-key-uuid-v6",
"archived": false,
"createdAt": "2024-01-15T10:30:00Z",
"projectMembers": [{
"id": "member-uuid",
"userID": "your-user-uuid",
"user": {
"firstName": "John",
"lastName": "Doe"
}
}]
}
}
}
What Happens Automatically:
- Project created in current workspace
- Unique project ID and key generated
- You added as first project member
- RBAC resource registered with project key
- Permissions initialized
- Activity logged
- Success notification sent
Step 2: Understand Your Project Setup
Project Components
After creation, your project includes:
1. Project Record
- Unique project ID
- Unique project key (for RBAC)
- Your chosen name
- Workspace association
- Status:
active - Archived:
false
2. Project Membership
- You're the first project member
- Can add other team members
- Project-level access control
3. RBAC Resource
- Registered as RBAC resource
- Uses project key as identifier
- Enables hierarchical permissions
- Resource type:
project
4. Ready for Resources
- Can create workflows (FluidGrids)
- Can create bots (Botlit)
- Can create knowledge bases
- Can add team members
Step 3: View Your Project
Get Project Details
query GetProjectDetails {
getProject(id: "project-uuid-here") {
id
name
workspaceID
key
archived
createdAt
projectMembers {
id
userID
role
user {
firstName
lastName
email
}
}
}
}
List All Your Projects
View all projects in your workspace(s):
query ListMyProjects {
getWorkspaceProjects(workspaceIDs: ["workspace-uuid-here"]) {
workspaceID
projects {
id
name
key
archived
createdAt
projectMembers {
userID
role
}
}
}
}
Returns: Only projects where you're a member
Multiple Workspaces
Query projects across multiple workspaces:
query GetMultiWorkspaceProjects {
getWorkspaceProjects(
workspaceIDs: [
"workspace-1-uuid",
"workspace-2-uuid",
"workspace-3-uuid"
]
) {
workspaceID
projects {
id
name
}
}
}
If no workspaceIDs provided: Returns projects from your current workspace
Step 4: Add Team Members
Add Member to Project
mutation AddProjectMember {
addProjectMember(
input: {
projectID: "project-uuid-here"
userID: "team-member-user-uuid"
role: "developer"
}
) {
id
userID
role
projectID
}
}
Requirements:
- User must be a workspace member first
- You need
project.addMemberpermission - User will gain project-level access
Common Roles:
developer- Full development accessviewer- Read-only accessadmin- Administrative accessteam-lead- Team management access
View Project Members
query GetProjectMembers {
getProject(id: "project-uuid-here") {
projectMembers {
id
userID
role
createdAt
user {
firstName
lastName
email
}
}
}
}
Step 5: Switch to Your Project
Switch Project Context
Change your active project:
mutation SwitchToProject {
switchProject(projID: "project-uuid-here")
}
Returns: New JWT token with project context
Requirements:
- Must be a project member
- Project must belong to current workspace
- Project must not be archived
Use Cases:
- Working on multiple projects
- Switching between initiatives
- Context-specific operations
- Project-scoped API calls
Client Implementation:
async function switchProject(projectId) {
const { data } = await apolloClient.mutate({
mutation: SWITCH_PROJECT_MUTATION,
variables: { projID: projectId }
});
// Store new JWT token
localStorage.setItem('token', data.switchProject);
// Refresh to load project context
window.location.reload();
}
Step 6: Start Adding Resources
Create Workflows (FluidGrids)
mutation CreateWorkflow {
createWorkflow(
input: {
projectID: "project-uuid-here"
name: "User Onboarding Workflow"
description: "Automated user onboarding process"
}
) {
id
name
projectID
}
}
Create Bots (Botlit)
mutation CreateBot {
createBot(
input: {
projectID: "project-uuid-here"
name: "Customer Support Bot"
type: "support"
}
) {
id
name
projectID
}
}
Create Knowledge Base
mutation CreateKnowledgeBase {
createKnowledgeBase(
input: {
projectID: "project-uuid-here"
name: "Product Documentation"
description: "Internal product documentation"
}
) {
id
name
projectID
}
}
Common Workflows
Workflow 1: Development Project Setup
Scenario: Setting up project for new feature
1. Create project: "User Authentication Feature"
2. Add team members:
- Tech Lead (admin role)
- 2 Developers (developer role)
- QA Engineer (viewer role)
3. Create workflows:
- "Auth Flow"
- "Token Management"
4. Create bot:
- "Auth Testing Bot"
5. Create knowledge base:
- "Auth Implementation Docs"
Workflow 2: Client Project
Scenario: Agency setting up client project
1. Create project: "Client ABC Website"
2. Add team members:
- Project Manager (admin)
- Developers (developer)
- Client Stakeholder (viewer - read only)
3. Create workflows:
- "Content Publishing"
- "Image Optimization"
4. Create bot:
- "Content Assistant"
5. Document everything in knowledge base
Workflow 3: Research Project
Scenario: Research team setting up study
1. Create project: "Machine Learning Study 2024"
2. Add team members:
- Principal Investigator (admin)
- Researchers (developer)
- Assistants (viewer)
3. Create workflows:
- "Data Collection"
- "Analysis Pipeline"
4. Create bot:
- "Data Processing Bot"
5. Create knowledge base:
- "Research Documentation"
Quick Start Checklist
Use this checklist for your first project:
- Create project with descriptive name
- Verify you're added as project member
- Add 2-3 initial team members
- Assign appropriate roles to members
- Create 1-2 initial workflows/bots
- Set up project knowledge base
- Document project purpose and structure
- Test project switching functionality
- Verify RBAC permissions work correctly
Troubleshooting
"Cannot create project"
Possible Causes:
- Missing
create:projectpermission - Not a workspace member
- Workspace is inactive
- Invalid input data
Solutions:
- Verify you're a workspace member
- Request
create:projectpermission from admin - Check workspace status
- Verify input data format
"Can't see project after creation"
Possible Causes:
- Project created in different workspace
- Not added as project member
- Browser cache issues
Solutions:
- Verify project ID from creation response
- Check which workspace project belongs to
- Query project directly by ID
- Refresh browser
- Switch to correct workspace
"Can't add team member"
Possible Causes:
- User not a workspace member
- Missing
project.addMemberpermission - User already a project member
- Invalid user ID
Solutions:
- Invite user to workspace first
- Verify your permissions
- Check if user already a member
- Verify user ID is correct
"Can't switch to project"
Possible Causes:
- Not a project member
- Project is archived
- Project in different workspace
- Invalid project ID
Solutions:
- Verify you're a project member
- Check project archived status
- Ensure project in current workspace
- Verify project ID is correct
What's Next?
Now that your project is set up:
- Manage Projects: Learn project lifecycle operations
- Project Members: Master member management
- Workspace Management: Understand workspace structure
- RBAC & Permissions: Master permission system
Best Practices for New Projects
Project Naming
Good Names:
- "Customer Portal Backend"
- "Mobile App - iOS"
- "Q1 Marketing Campaign"
- "Data Analytics Pipeline"
Avoid:
- "Project 1", "Test Project"
- "asdf", "new project"
- Overly long names
- Names with special characters
Initial Structure
Start Simple:
- 1 project per major initiative
- 3-5 initial team members
- 2-3 core workflows/bots
- 1 knowledge base for documentation
Avoid Over-Engineering:
- Don't create projects for tiny tasks
- Don't add entire workspace to project
- Don't create excessive resources initially
- Start focused, expand as needed
Team Organization
Do:
- Add only necessary team members
- Assign appropriate roles from start
- Document member responsibilities
- Review membership as project evolves
Don't:
- Grant admin access unnecessarily
- Add everyone to every project
- Forget to assign roles
- Skip member documentation
Resource Management
Do:
- Create workflows for repeatable processes
- Build bots for automation needs
- Document everything in knowledge base
- Organize resources logically
Don't:
- Create workflows without clear purpose
- Build bots without defined use cases
- Skip documentation
- Mix unrelated resources
Getting Help
- Project Creation Issues: Review managing projects guide
- Member Problems: Check project members documentation
- Workspace Questions: See workspace docs
- Permission Issues: Review RBAC documentation
- Technical Problems: Contact workspace administrator
Congratulations! You've created your first project and understand the basics. You can now organize work, add team members, and build workflows and bots within your project.