Float ACTION
Create Project
Create a new project. See the documentation
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Float account once, then configure and run Create Project from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "float-create-project",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
float: { authProvisionId: "apn_xxxxxxx" },
name: "Project Name",
projectCode: "Project Code",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "float-create-project",
"configured_props": {
"float": { "authProvisionId": "apn_xxxxxxx" },
"name": "Project Name",
"projectCode": "Project Code"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "float",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "float-create-project",
arguments: {
name: "Project Name",
projectCode: "Project Code",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
name Project Name | string | Name of the project Required |
projectCode Project Code | string | An optional third-party identifier unique across all projects enforced using case-insensitive comparison Optional |
clientId Client | string | Client to associate with the project Optional Dynamic |
color Color | string | Project's color in hexadecimal (e.g. FF2D00) Optional |
notes Notes | string | Notes for this project Optional |
tags Tags | string[] | The tag to use Optional Dynamic |
budgetType Budget Type | integer | Is there a project budget? Optional |
budgetTotal Budget Total | integer | The budget amount for Total hours or Total fee project budgets. Displays as null for Hourly fee, Phase and Task budgets, also see Budget Priority Optional |
budgetPriority Budget Priority | string | Defines which level the budget will be determined from. For non-project levels, the total budget can be calculated from the sum of budgets in each Phase or Task Optional |
defaultHourlyRate Default Hourly Rate | string | The default hourly rate for fee-based budgets, the request also accepts a decimal number Optional |
nonBillable Non-Billable | boolean | Is this project billable? Optional |
status Status | string | The status of the project. If both Status and Stage ID are provided, Stage ID takes precedence. If only Status is provided, the first available stage for that status will be automatically selected Optional |
stageId Stage ID | integer | The ID of the project stage for this project. This field takes precedence over Status when both are provided. If omitted, the first available stage related to the project's Status will be used Optional Dynamic |
lockedTaskList Locked Task List | boolean | Are members locked from adding project tasks (Only Project Managers can add to this list)? Optional |
active Active | boolean | Is this project active or archived? Optional |
projectManagerId Account | string | The account to use Optional Dynamic |
allPmsSchedule All PMs Schedule | boolean | Do all project managers have scheduling rights? Optional |
startDate Start Date | string | The start date of this project which is either manually set or calculated from the earliest phase, milestone, allocation, or logged time. (format: YYYY-MM-DD) Optional |
endDate End Date | string | The end date of this project which is either manually set or calculated from the latest phase, milestone, allocation, or logged time. (format: YYYY-MM-DD) Optional |
expenses Expenses | string[] | A list of expenses assigned to this project. E.g. [{"name": "Expense 1", "date": "2022-01-01", "cost": 100}]. See the documentation Optional |
projectTasks Project Tasks | string[] | A list of tasks assigned to this project. E.g. [{"phase_id": 1, "billable": 1}]. See the documentation Optional |
projectTeam Project Team | string[] | A list of people and their project Hourly Rate, the Phase ID will be 0, the list may be empty. See the documentation Optional Dynamic |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- float-create-project
- Version
- 0.0.2
- App
- Float
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗