Teamwork ACTION
Create User
Create a new user in Teamwork. See the docs here
- Action
- Writes data
- OAuth
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's Teamwork account once, then configure and run Create User 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: "teamwork-create-user",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
teamwork: { authProvisionId: "apn_xxxxxxx" },
emailAddress: "Email Address",
firstName: "First Name",
},
})
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": "teamwork-create-user",
"configured_props": {
"teamwork": { "authProvisionId": "apn_xxxxxxx" },
"emailAddress": "Email Address",
"firstName": "First Name"
}
}'// 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": "teamwork",
},
},
},
)
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: "teamwork-create-user",
arguments: {
emailAddress: "Email Address",
firstName: "First Name",
},
})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 |
|---|---|---|
emailAddress Email Address | string | The email address of the person Required |
firstName First Name | string | The first name of the person Required |
lastName Last Name | string | The last name of the person Required |
companyId Company ID | string | ID of the company to list tasks from Optional Dynamic |
sendInvite Send Invite | boolean | Whether to send an invitation email to the new user Optional |
title Title | string | The job title of the person Optional |
phoneNumberOffice Office Phone | string | The office phone number of the person Optional |
phoneNumberOfficeExt Office Phone Extension | string | The office phone extension of the person Optional |
phoneNumberMobileCountrycode Mobile Phone Country Code | string | The country code for the mobile phone number Optional |
phoneNumberMobilePrefix Mobile Phone Prefix | string | The prefix for the mobile phone number Optional |
phoneNumberMobile Mobile Phone | string | The mobile phone number of the person Optional |
phoneNumberHome Home Phone | string | The home phone number of the person Optional |
phoneNumberFax Fax Number | string | The fax number of the person Optional |
emailAlt1 Alternative Email 1 | string | First alternative email address Optional |
emailAlt2 Alternative Email 2 | string | Second alternative email address Optional |
emailAlt3 Alternative Email 3 | string | Third alternative email address Optional |
address Address | object | Object containing address information. See the documentation for more information. Optional |
profile Profile | string | The profile information of the person Optional |
userTwitterName Twitter Name | string | The Twitter handle of the person Optional |
userLinkedin LinkedIn | string | The LinkedIn profile URL of the person Optional |
userFacebook Facebook | string | The Facebook profile URL of the person Optional |
userWebsite Website | string | The personal website of the person Optional |
imService IM Service | string | The instant messaging service used by the person Optional |
imHandle IM Handle | string | The instant messaging username of the person Optional |
language Language | string | The language preference for the person Optional |
dateFormatId Date Format ID | integer | The date format ID for the person Optional |
timeFormatId Time Format ID | integer | The time format ID for the person Optional |
timezoneId Timezone ID | integer | The timezone ID for the person Optional |
calendarStartsOnSunday Calendar Starts On Sunday | string | Whether the calendar starts on Sunday Optional |
lengthOfDay Length of Day | integer | The length of day in hours Optional |
workingHours Working Hours | object | Object containing working hours information. . See the documentation for more information. Optional |
changeForEveryone Change For Everyone | boolean | Whether changes apply to everyone Optional |
administrator Administrator | boolean | Whether the person is an administrator Optional |
canAddProjects Can Add Projects | boolean | Whether the person can add projects Optional |
canManagePeople Can Manage People | boolean | Whether the person can manage people Optional |
autoGiveProjectAccess Auto Give Project Access | boolean | Whether to automatically give the person access to new projects Optional |
canAccessCalendar Can Access Calendar | boolean | Whether the person can access the calendar Optional |
canAccessTemplates Can Access Templates | boolean | Whether the person can access templates Optional |
canAccessPortfolio Can Access Portfolio | boolean | Whether the person can access the portfolio Optional |
canManageCustomFields Can Manage Custom Fields | boolean | Whether the person can manage custom fields Optional |
canManagePortfolio Can Manage Portfolio | boolean | Whether the person can manage the portfolio Optional |
canManageProjectTemplates Can Manage Project Templates | boolean | Whether the person can manage project templates Optional |
canViewProjectTemplates Can View Project Templates | boolean | Whether the person can view project templates Optional |
notifyOnTaskComplete Notify On Task Complete | boolean | Whether to notify when tasks are completed Optional |
notifyOnAddedAsFollower Notify On Added As Follower | boolean | Whether to notify when added as a follower Optional |
notifyOnStatusUpdate Notify On Status Update | boolean | Whether to notify on status updates Optional |
textFormat Text Format | string | The text format preference Optional |
useShorthandDurations Use Shorthand Durations | boolean | Whether to use shorthand durations Optional |
userReceiveNotifyWarnings User Receive Notify Warnings | boolean | Whether the user receives notification warnings Optional |
userReceiveMyNotificationsOnly User Receive My Notifications Only | boolean | Whether the user receives only their own notifications Optional |
receiveDailyReports Receive Daily Reports | boolean | Whether the person should receive daily reports Optional |
receiveDailyReportsAtWeekend Receive Daily Reports At Weekend | boolean | Whether to receive daily reports on weekends Optional |
receiveDailyReportsIfEmpty Receive Daily Reports If Empty | boolean | Whether to receive daily reports even if empty Optional |
soundAlertsEnabled Sound Alerts Enabled | boolean | Whether sound alerts are enabled Optional |
dailyReportSort Daily Report Sort | string | The sort order for daily reports Optional |
receiveDailyReportsAtTime Receive Daily Reports At Time | string | The time to receive daily reports Optional |
dailyReportEventsType Daily Report Events Type | string | The type of events for daily reports Optional |
dailyReportDaysFilter Daily Report Days Filter | integer | The days filter for daily reports Optional |
avatarPendingFileRef Avatar Pending File Ref | string | Reference to pending avatar file Optional |
removeAvatar Remove Avatar | boolean | Whether to remove the avatar Optional |
allowEmailNotifications Allow Email Notifications | boolean | Whether to allow email notifications Optional |
userType User Type | string | The type of user (account, collaborator, contact) Optional |
privateNotes Private Notes | string | Private notes about the person Optional |
getUserDetails Get User Details | boolean | Whether to return user details in the response Optional |
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
- teamwork-create-user
- Version
- 0.0.3
- App
- Teamwork
- Authentication
- OAuth
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗