diff --git a/app/en/mcp-servers/productivity/ashby-api/page.mdx b/app/en/mcp-servers/productivity/ashby-api/page.mdx new file mode 100644 index 00000000..01366371 --- /dev/null +++ b/app/en/mcp-servers/productivity/ashby-api/page.mdx @@ -0,0 +1,4712 @@ +# AshbyApi + +import StarterToolInfo from "@/app/_components/starter-tool-info"; +import ToolInfo from "@/app/_components/tool-info"; +import Badges from "@/app/_components/badges"; +import TabbedCodeBlock from "@/app/_components/tabbed-code-block"; +import TableOfContents from "@/app/_components/table-of-contents"; +import ToolFooter from "@/app/_components/tool-footer"; +import { Callout } from "nextra/components"; + + + + + + + +The AshbyApi MCP Server offers a comprehensive suite of tools for managing recruitment processes within the Ashby platform. Users can perform a variety of actions, including: + +- Create, update, and manage job applications and candidates. +- Retrieve detailed information about candidates, applications, jobs, and departments. +- Manage interview schedules, feedback, and assessments. +- Handle job postings, openings, and associated locations. +- Utilize webhooks for event notifications and manage user permissions. + +This server is designed to streamline the hiring process, making it easier to track candidates and manage recruitment workflows effectively. + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your own + tools](/home/build-tools/create-a-mcp-server). + + +## AshbyApi.GetApiKeyInfo + +
+ + +Retrieve information about the current API key in use. + +**Parameters** + +- **empty_request_body** (`json`, optional) Provide an empty JSON object as the request body. This is required to make the call but should contain no data. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ChangeApplicationSource + +
+ + +Change the source of an application in Ashby. + +**Parameters** + +- **application_source_details** (`json`, optional) JSON object containing `applicationId` and `sourceId` to specify the application and its new source. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ChangeApplicationStage + +
+ + +Change the stage of a candidate's application. + +**Parameters** + +- **application_stage_change_details** (`json`, optional) A JSON object containing applicationId, interviewStageId, and optional archiveReasonId and archiveEmail details, to change the application stage. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateJobApplication + +
+ + +Create a job application for a candidate. + +**Parameters** + +- **job_application_data** (`json`, optional) JSON object containing candidateId, jobId, interviewPlanId, interviewStageId, sourceId, creditedToUserId, createdAt, and applicationHistory for the job application. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.FetchApplicationDetails + +
+ + +Fetch application details using application or form instance ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListApplications + +
+ + +Retrieve all applications in the organization. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.TransferApplicationToJob + +
+ + +Transfer an application to a different job. + +**Parameters** + +- **application_transfer_details** (`json`, optional) A JSON object containing the details for transferring an application, including `applicationId`, `jobId`, `interviewPlanId`, `interviewStageId`, and `startAutomaticActivities`. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateApplicationStatus + +
+ + +Updates the status or details of an application. + +**Parameters** + +- **application_update_payload** (`json`, optional) JSON object containing applicationId, sourceId, creditedToUserId, createdAt, and sendNotifications to update application details. sendNotifications controls subscriber notifications. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateApplicationHistory + +
+ + +Update the history of an application. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetApplicationHistory + +
+ + +Fetch a paginated list of application history items. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetCandidateCriteriaEvaluations + +
+ + +Retrieve AI evaluations for candidate job criteria. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListApplicationFeedback + +
+ + +Retrieve interview feedback and scorecards for applications. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddHiringTeamMember + +
+ + +Add a user to the hiring team for an application. + +**Parameters** + +- **hiring_team_member_details** (`json`, optional) A JSON object containing 'applicationId', 'teamMemberId', and 'roleId'. These IDs specify the application, team member, and role for adding to the hiring team. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RemoveHiringTeamMember + +
+ + +Remove a user from the hiring team for an application. + +**Parameters** + +- **hiring_team_removal_details** (`json`, optional) JSON object containing applicationId, teamMemberId, and roleId for the user to be removed. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetHiringTeamRoles + +
+ + +Retrieve all available hiring team roles for applications. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SubmitApplicationFeedback + +
+ + +Submit application feedback forms with various field types. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetApprovalList + +
+ + +Retrieve all approvals in the organization. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateApprovalDefinition + +
+ + +Create or update an approval definition for an entity. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListArchiveReasons + +
+ + +Retrieve a list of archive reasons. + +**Parameters** + +- **include_archived_interview_plans** (`boolean`, optional) Set to true to include archived interview plans in the results. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddCompletedAssessmentToCandidate + +
+ + +Adds a completed assessment to a candidate's record. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.StartAssessment + +
+ + +Start an assessment using the Ashby API. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListAssessments + +
+ + +Retrieve a list of available assessments. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateAssessmentStatus + +
+ + +Update the status of a candidate assessment in Ashby. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CancelAssessment + +
+ + +Cancel an ongoing assessment. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddCandidateToProject + +
+ + +Add a candidate to a specified project. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddCandidateTag + +
+ + +Add a tag to a candidate in the recruitment system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AnonymizeCandidateData + +
+ + +Permanently anonymize a candidate's data in the system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateCandidate + +
+ + +Create a new candidate entry. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateCandidateNote + +
+ + +Add a note to a candidate's profile in Ashby. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetCandidateInformation + +
+ + +Retrieve detailed information of a candidate using their ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCandidates + +
+ + +Retrieve a list of all candidates in an organization. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCandidateClientInfo + +
+ + +Retrieve client info records for a candidate. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCandidateNotes + +
+ + +Retrieve all notes associated with a candidate. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCandidateProjects + +
+ + +Retrieve all projects linked to a candidate. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.FindCandidates + +
+ + +Search for candidates by email or name. + +**Parameters** + +- **candidate_email** (`string`, optional) The email address of the candidate to search for. Use this to refine the search results and find specific candidates. +- **candidate_name** (`string`, optional) The name of the candidate to search for in the database. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateCandidateInfo + +
+ + +Update an existing candidate's information. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateCandidateTag + +
+ + +Create a new candidate tag in the Ashby system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCandidateTags + +
+ + +Retrieve a list of all candidate tags. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCloseReasons + +
+ + +Get a list of close reasons for jobs or openings. + +**Parameters** + +- **include_archived_reasons** (`boolean`, optional) Set to true to include archived close reasons in the response. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListEnabledCommunicationTemplates + +
+ + +Retrieve all enabled communication templates. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateCustomField + +
+ + +Creates a new custom field in Ashby. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetCustomFieldInfo + +
+ + +Retrieve information about a custom field. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListCustomFields + +
+ + +Retrieve a list of all custom fields. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SetCustomFieldValue + +
+ + +Update the value of a custom field for an object. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateDepartment + +
+ + +Create a new department within an organization. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ArchiveDepartment + +
+ + +Archive a department within an organization. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RestoreDepartment + +
+ + +Restores a previously deleted department. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetDepartmentDetails + +
+ + +Fetches department details using a department ID. + +**Parameters** + +- **department_id** (`json`, optional) The ID of the department to fetch details for. This is required to retrieve accurate department information. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListDepartments + +
+ + +Retrieve a list of all departments. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.MoveDepartment + +
+ + +Relocate a department to a new parent structure. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateDepartment + +
+ + +Update existing department details in the system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RetrieveCandidateFileUrl + +
+ + +Retrieve the URL of a candidate's associated file. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetFeedbackFormInfo + +
+ + +Fetch detailed information about a specific feedback form by ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListFeedbackForms + +
+ + +Retrieve a list of all feedback forms. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.HiringTeamAddMember + +
+ + +Adds a user to the hiring team for a job or application. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RemoveTeamMemberFromHiring + +
+ + +Remove a member from the hiring team at job or application level. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListHiringTeamRoles + +
+ + +Retrieve possible hiring team roles within an organization. + +**Parameters** + +- **return_role_titles_only** (`boolean`, optional) Set to true to return only role titles. Set to false to return objects with id and title. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.FetchInterviewDetails + +
+ + +Retrieve interview details using interview ID. + +**Parameters** + +- **interview_id** (`json`, optional) The unique ID of the interview to fetch details for. This ID is required to retrieve the specific interview information. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListInterviews + +
+ + +Retrieve a list of all scheduled interviews. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListInterviewEvents + +
+ + +Retrieve a list of interview events for a schedule. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListInterviewPlans + +
+ + +Fetch a list of all available interview plans. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CancelInterviewSchedule + +
+ + +Cancel an interview schedule using its ID. + +**Parameters** + +- **interview_schedule_cancel_details** (`json`, optional) A JSON object containing the ID of the interview schedule to cancel and whether rescheduling is allowed. Required JSON structure with keys 'id' and 'allowReschedule'. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateInterviewSchedule + +
+ + +Create a scheduled interview in Ashby. + +**Parameters** + +- **interview_schedule_request** (`json`, optional) JSON object containing application ID, interview events, and extra data. Events include start time, end time, and interviewers. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetInterviewSchedules + +
+ + +Retrieve all interview schedules for the organization. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateInterviewSchedule + +
+ + +Update, add, or cancel interview schedule events. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListInterviewStages + +
+ + +Retrieve all interview stages for an interview plan in order. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.FetchInterviewStageDetails + +
+ + +Fetches details of a specific interview stage. + +**Parameters** + +- **interview_stage_id** (`json`, optional) The unique identifier of the interview stage to fetch details for. Required for retrieving the specific stage information. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListInterviewStageGroups + +
+ + +Retrieve all interview group stages in order. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListInterviewerPools + +
+ + +Fetches a list of all interviewer pools. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetInterviewerPoolInfo + +
+ + +Retrieve information about an interviewer pool. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateInterviewerPool + +
+ + +Creates a new interviewer pool for hiring processes. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateInterviewerPool + +
+ + +Update an interviewer pool. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ArchiveInterviewerPool + +
+ + +Archive an interviewer pool when needed. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RestoreInterviewerPool + +
+ + +Restores an archived interviewer pool. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddUserToInterviewerPool + +
+ + +Add a user to an interviewer pool in Ashby. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RemoveUserFromInterviewerPool + +
+ + +Remove a user from an interviewer pool. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateNewJob + +
+ + +Create a new job listing with specified details. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetJobDetails + +
+ + +Retrieve detailed information about a job using its ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListAllJobs + +
+ + +Retrieve all open, closed, and archived jobs from Ashby. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SetJobStatus + +
+ + +Update the status of a job by its ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateJobDetails + +
+ + +Update details of an existing job. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateJobCompensation + +
+ + +Update a job's compensation details. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SearchJobsByTitle + +
+ + +Search for jobs by title. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListEnabledJobBoards + +
+ + +Retrieve all enabled job boards. + +**Parameters** + +- **request_body_data** (`json`, optional) The JSON payload for the request. This should contain any necessary parameters for listing enabled job boards. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.JobInterviewPlanInfo + +
+ + +Retrieve a job's interview plan details. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetJobPostingInfo + +
+ + +Retrieve detailed information about a specific job posting. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListPublishedJobPostings + +
+ + +Retrieve all published and publicly listed job postings. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListJobTemplates + +
+ + +Retrieve all active and inactive job templates. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateJobPosting + +
+ + +Update an existing job posting on the Ashby platform. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ArchiveLocation + +
+ + +Archives a location or location hierarchy. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateLocation + +
+ + +Create a location or location hierarchy. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetLocationDetails + +
+ + +Retrieve detailed information for a specific location. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListAllLocations + +
+ + +Retrieve a list of all available locations. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.MoveLocationInHierarchy + +
+ + +Move a location within the organizational hierarchy. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RestoreArchivedLocation + +
+ + +Restores an archived location or hierarchy. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateLocationAddress + +
+ + +Update the address of a location. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateLocationName + +
+ + +Updates the name of a location. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateLocationRemoteStatus + +
+ + +Update the remote status of a specific location. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateWorkplaceType + +
+ + +Update the workplace type for a specific location. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.OfferApprovalAction + +
+ + +Approve an offer or a specific step in the approval process. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateOffer + +
+ + +Create a new offer using specified form fields. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetOfferDetails + +
+ + +Retrieve details about a specific offer using its ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetLatestOffers + +
+ + +Retrieve the latest version of all offers available. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateCandidateOfferVersion + +
+ + +Initiate a new offer version for a candidate. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateOffer + +
+ + +Update an existing offer and retrigger approval steps. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.StartOfferProcess + +
+ + +Initiate an offer process for a candidate. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetOpeningInfo + +
+ + +Retrieve job opening details using a UUID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListJobOpenings + +
+ + +Retrieve a list of current job openings. + +**Parameters** + +- **last_sync_token** (`string`, optional) Opaque token representing the last time a full set of results was fetched. Use this to sync data updates. +- **page_cursor** (`string`, optional) String indicating which page of job openings results to fetch, used for pagination. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SearchJobOpenings + +
+ + +Search for job openings by identifier. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateJobOpening + +
+ + +Create a new job opening in the system. + +**Parameters** + +- **associated_job_ids** (`array[string]`, optional) Array of job IDs related to the opening. +- **department_team_id** (`string`, optional) The unique identifier for the department or team associated with the job opening. +- **employment_start_date** (`string`, optional) The date (in YYYY-MM-DD format) when the hired person is expected to start employment. +- **employment_type** (`string`, optional) The employment type for this opening. Options include: FullTime, PartTime, Intern, Contract, Temporary. +- **identifiers** (`string`, optional) Comma-separated list of jobIds, targetHireDate, targetStartDate, isBackfill, and employmentType to define job details. +- **is_backfill** (`boolean`, optional) Indicate whether the job opening is intended to backfill a previous employee's position. +- **job_description** (`string`, optional) A detailed description of the job opening, including responsibilities and qualifications. +- **location_ids** (`array[string]`, optional) A list of location IDs associated with the job opening. +- **opening_state** (`string`, optional) Specifies the state of the job opening. Options: Draft, Approved, Open, Closed. Defaults to Draft. Additional validation may be needed if not Draft. +- **target_hire_date** (`string`, optional) Specify the date (YYYY-MM-DD) by which the hire is intended to be made for the job opening. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddJobToOpening + +
+ + +Adds a job to an opening. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RemoveJobFromOpening + +
+ + +Remove a job from an opening. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AddLocationToJobOpening + +
+ + +Adds a location to a job opening. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RemoveLocationFromOpening + +
+ + +Remove a location from a job opening. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SetOpeningState + +
+ + +Update the state of a job opening. + +**Parameters** + +- **close_reason_id** (`string`, optional) The ID for the reason why the opening is closed, required when setting the state to closed. +- **new_opening_state** (`string`, optional) The new state to update the job opening to. Accepted values are 'Draft', 'Approved', 'Open', 'Closed'. +- **opening_id** (`string`, optional) The unique identifier of the job opening to be updated. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SetOpeningArchivedState + +
+ + +Set or unset the archived state of a job opening. + +**Parameters** + +- **opening_id** (`string`, optional) The ID of the job opening to archive or unarchive. +- **set_archived_state** (`boolean`, optional) Boolean to set the archived state of a job opening. Use true to archive and false to unarchive. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateJobOpening + +
+ + +Update the details of a job opening. + +**Parameters** + +- **department_team_id** (`string`, optional) The unique ID of the department or team associated with the job opening. +- **employment_type** (`string`, optional) Specifies the employment type for the job opening. Can be FullTime, PartTime, Intern, Contract, or Temporary. +- **fields_to_update** (`string`, optional) Specify the fields you want to update, such as jobIds, targetHireDate, targetStartDate, isBackfill, employmentType. +- **is_backfill** (`boolean`, optional) Indicate if the opening is intended to backfill an employee. Use true for backfill, false otherwise. +- **job_description_update** (`string`, optional) The new description text for the job opening. Provide a detailed and clear update relevant to the job role. +- **opening_identifier** (`string`, optional) The unique ID of the job opening to update. +- **target_hire_date** (`string`, optional) The date in YYYY-MM-DD format by which you intend to hire for the opening. +- **target_start_date** (`string`, optional) The intended start date (in YYYY-MM-DD format) for a newly hired employee. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetProjectInformation + +
+ + +Retrieve detailed information about a project. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListProjects + +
+ + +Retrieve a list of projects. + +**Parameters** + +- **last_sync_token** (`string`, optional) An opaque token from the last successful data sync. This is used to fetch updates. +- **max_items_to_return** (`integer`, optional) The maximum number of projects to return. The default and maximum value is 100. +- **page_results_cursor** (`string`, optional) An opaque cursor indicating which page of results to fetch from the project list. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.SearchProjectsByTitle + +
+ + +Search for projects by title for quick lookups. + +**Parameters** + +- **project_title** (`string`, optional) The title of the project to search for. Use this to narrow down the results to specific projects based on their name. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateCandidateReferral + +
+ + +Creates a candidate referral in the system. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetReferralFormInfo + +
+ + +Fetches or creates the default referral form details. + +**Parameters** + +This tool does not take any parameters. +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GenerateAndPollReport + +
+ + +Generate a new report or poll status of report generation. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RetrieveSyncReport + +
+ + +Retrieve report data synchronously with Ashby. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListAllSources + +
+ + +Retrieve a list of all sources for hiring processes. + +**Parameters** + +- **include_archived_items** (`boolean`, optional) When true, archived items are included in the results. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListSourceTrackingLinks + +
+ + +Retrieve all source custom tracking links. + +**Parameters** + +- **include_disabled_tracking_links** (`boolean`, optional) Set to true to include disabled tracking links in the list. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetSurveyFormDetails + +
+ + +Retrieve details of a survey form definition by id. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListSurveyFormDefinitions + +
+ + +Retrieve all survey form definitions. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateSurveyRequest + +
+ + +Create a survey request and get a survey URL. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListSurveyRequests + +
+ + +Retrieve a list of all survey requests. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateSurveySubmission + +
+ + +Create a new survey submission. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.ListSurveySubmissions + +
+ + +Retrieve all survey submissions for a specific type. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetAshbyUserInfo + +
+ + +Retrieve detailed information of a specific Ashby user. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetAshbyUserList + +
+ + +Retrieve a list of all users in Ashby and their access levels. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.AshbyUserSearch + +
+ + +Search for an Ashby user by email address. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.GetInterviewerSettings + +
+ + +Retrieve interviewer settings for a user. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateInterviewerSettings + +
+ + +Update interviewer settings for a user. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.CreateWebhookSetting + +
+ + +Creates a webhook setting in Ashby. + +**Parameters** + +- **webhook_configuration** (`json`, optional) A JSON object containing configuration details for the webhook, including webhookType, requestUrl, and secretToken. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.RetrieveWebhookInfo + +
+ + +Retrieve detailed information on a specific webhook setting by ID. + +**Parameters** + +- **mode** (`Enum` [ToolMode](#toolmode), required) Operation mode: 'get_request_schema' returns the OpenAPI spec for the request body, 'execute' performs the actual operation +- **request_body** (`string`, optional) Stringified JSON representing the request body. Required when mode is 'execute', ignored when mode is 'get_request_schema' + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.UpdateWebhookSetting + +
+ + +Update a webhook setting for Ashby service. + +**Parameters** + +- **webhook_settings_payload** (`json`, optional) JSON object containing `webhookId`, optionally one of `enabled`, `requestUrl`, or `secretToken` to update specific settings. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## AshbyApi.DeleteWebhookSetting + +
+ + +Delete a webhook setting. + +**Parameters** + +- **webhook_id** (`json`, optional) The unique identifier of the webhook to be deleted. + +**Secrets** + +This tool requires the following secrets: `ASHBY_API_KEY` (learn how to [configure secrets](/home/build-tools/create-a-tool-with-secrets)) + +## Reference + +Below is a reference of enumerations used by some of the tools in the AshbyApi MCP Server: + +### ToolMode + +- **GET_REQUEST_SCHEMA**: `get_request_schema` +- **EXECUTE**: `execute` + + diff --git a/make_toolkit_docs/docs_builder.py b/make_toolkit_docs/docs_builder.py index 18fb1aad..743920d4 100644 --- a/make_toolkit_docs/docs_builder.py +++ b/make_toolkit_docs/docs_builder.py @@ -616,7 +616,6 @@ def request_openai_generation( messages=messages, temperature=0.0, max_completion_tokens=max_tokens, - stop=["\n\n"], ) response_str = cast(str, response.choices[0].message.content) @@ -655,7 +654,6 @@ async def async_request_openai_generation( messages=messages, temperature=0.0, max_completion_tokens=max_tokens, - stop=["\n\n"], ) response_str = cast(str, response.choices[0].message.content) diff --git a/package.json b/package.json index e70c5939..7c76a5a5 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "homepage": "https://arcade.dev/", "dependencies": { - "@arcadeai/design-system": "^3.20.0", + "@arcadeai/design-system": "^3.21.0", "@next/third-parties": "16.0.1", "@ory/client": "1.22.7", "@theguild/remark-mermaid": "0.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 06cfe5a3..99a0c54a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: dependencies: '@arcadeai/design-system': - specifier: ^3.20.0 - version: 3.20.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1)) + specifier: ^3.21.0 + version: 3.21.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1)) '@next/third-parties': specifier: 16.0.1 version: 16.0.1(next@16.0.1(react-dom@19.2.0(react@19.2.0))(react@19.2.0))(react@19.2.0) @@ -172,8 +172,8 @@ packages: '@arcadeai/arcadejs@1.11.1': resolution: {integrity: sha512-6AKMTO/cT/bj3GGMF4F76R2oC/FXIfkkXr6k/5/55NmUdpyzdqb5HhPN1M1txLoKIUc0/BGP8anM9lPFxwRW5g==} - '@arcadeai/design-system@3.20.0': - resolution: {integrity: sha512-XKoOUN88mUB7C8N/7CjbJytPkjB2BCkx7MjKXsaO7A0vIIBW1FZGgP7q7+hS2VEp8KyxlN+/ZbaV3Z7MxShiqA==} + '@arcadeai/design-system@3.21.0': + resolution: {integrity: sha512-KE8S4xL7AY3Bc+1W5sZqP4KkVFNP6GcwRfNbtLkzreISsmL5w6bofWUXra9Jn3aZBgznLhzdxP91wkDm9ASyFw==} engines: {node: '>=20.17.0'} peerDependencies: '@hookform/resolvers': ^5.2.1 @@ -4756,7 +4756,7 @@ snapshots: transitivePeerDependencies: - encoding - '@arcadeai/design-system@3.20.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1))': + '@arcadeai/design-system@3.21.0(@hookform/resolvers@5.2.2(react-hook-form@7.65.0(react@19.2.0)))(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(lucide-react@0.548.0(react@19.2.0))(react-dom@19.2.0(react@19.2.0))(react-hook-form@7.65.0(react@19.2.0))(react@19.2.0)(recharts@3.3.0(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react-is@16.13.1)(react@19.2.0)(redux@5.0.1))(tailwindcss@4.1.16)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.1))': dependencies: '@arcadeai/arcadejs': 1.11.1 '@hookform/resolvers': 5.2.2(react-hook-form@7.65.0(react@19.2.0)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_candidate_tag_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_tag_example_call_tool.js new file mode 100644 index 00000000..f860aaeb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_tag_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddCandidateTag"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\",\"tag\":\"interviewed\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_candidate_tag_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_tag_example_call_tool.py new file mode 100644 index 00000000..48e6114d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_tag_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddCandidateTag" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345","tag":"interviewed"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_candidate_to_project_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_to_project_example_call_tool.js new file mode 100644 index 00000000..946e473b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_to_project_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddCandidateToProject"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\",\"project_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_candidate_to_project_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_to_project_example_call_tool.py new file mode 100644 index 00000000..994f752f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_candidate_to_project_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddCandidateToProject" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345","project_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_completed_assessment_to_candidate_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_completed_assessment_to_candidate_example_call_tool.js new file mode 100644 index 00000000..5211108e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_completed_assessment_to_candidate_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddCompletedAssessmentToCandidate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"assessmentId\":\"abcde\",\"score\":85}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_completed_assessment_to_candidate_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_completed_assessment_to_candidate_example_call_tool.py new file mode 100644 index 00000000..c7b19b9e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_completed_assessment_to_candidate_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddCompletedAssessmentToCandidate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidateId":"12345","assessmentId":"abcde","score":85}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_hiring_team_member_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_hiring_team_member_example_call_tool.js new file mode 100644 index 00000000..a809f231 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_hiring_team_member_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddHiringTeamMember"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hiring_team_member_details": { + "applicationId": "app123", + "teamMemberId": "user456", + "roleId": "role789" + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_hiring_team_member_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_hiring_team_member_example_call_tool.py new file mode 100644 index 00000000..b4e070c8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_hiring_team_member_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddHiringTeamMember" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hiring_team_member_details': { 'applicationId': 'app123', + 'teamMemberId': 'user456', + 'roleId': 'role789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_job_to_opening_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_job_to_opening_example_call_tool.js new file mode 100644 index 00000000..72b95549 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_job_to_opening_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddJobToOpening"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"jobTitle\":\"Software Engineer\",\"location\":\"Remote\",\"description\":\"Develop and maintain software applications.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_job_to_opening_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_job_to_opening_example_call_tool.py new file mode 100644 index 00000000..0fd6cbf8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_job_to_opening_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddJobToOpening" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"jobTitle":"Software Engineer","location":"Remote","description":"Develop ' + 'and maintain software applications."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_location_to_job_opening_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_location_to_job_opening_example_call_tool.js new file mode 100644 index 00000000..4d8f1290 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_location_to_job_opening_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddLocationToJobOpening"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"job_id\":\"12345\",\"location\":\"New York, NY\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_location_to_job_opening_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_location_to_job_opening_example_call_tool.py new file mode 100644 index 00000000..a86429b7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_location_to_job_opening_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddLocationToJobOpening" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"job_id":"12345","location":"New York, NY"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_user_to_interviewer_pool_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/add_user_to_interviewer_pool_example_call_tool.js new file mode 100644 index 00000000..23fc1d01 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_user_to_interviewer_pool_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AddUserToInterviewerPool"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"user_id\":\"12345\",\"pool_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/add_user_to_interviewer_pool_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/add_user_to_interviewer_pool_example_call_tool.py new file mode 100644 index 00000000..a9687630 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/add_user_to_interviewer_pool_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AddUserToInterviewerPool" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"user_id":"12345","pool_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/anonymize_candidate_data_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/anonymize_candidate_data_example_call_tool.js new file mode 100644 index 00000000..ff839af8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/anonymize_candidate_data_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AnonymizeCandidateData"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"anonymizeFields\":[\"name\",\"email\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/anonymize_candidate_data_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/anonymize_candidate_data_example_call_tool.py new file mode 100644 index 00000000..a5300998 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/anonymize_candidate_data_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AnonymizeCandidateData" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidateId":"12345","anonymizeFields":["name","email"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/archive_department_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/archive_department_example_call_tool.js new file mode 100644 index 00000000..8063d20c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/archive_department_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ArchiveDepartment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"department_id\":\"12345\",\"action\":\"archive\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/archive_department_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/archive_department_example_call_tool.py new file mode 100644 index 00000000..2e9875cf --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/archive_department_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ArchiveDepartment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"department_id":"12345","action":"archive"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/archive_interviewer_pool_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/archive_interviewer_pool_example_call_tool.js new file mode 100644 index 00000000..7fdf1194 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/archive_interviewer_pool_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ArchiveInterviewerPool"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"pool_id\":\"12345\",\"archived\":true}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/archive_interviewer_pool_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/archive_interviewer_pool_example_call_tool.py new file mode 100644 index 00000000..934d3209 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/archive_interviewer_pool_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ArchiveInterviewerPool" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"pool_id":"12345","archived":true}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/archive_location_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/archive_location_example_call_tool.js new file mode 100644 index 00000000..29c0199d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/archive_location_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ArchiveLocation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"location\":\"/path/to/archive\",\"options\":{\"compress\":true}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/archive_location_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/archive_location_example_call_tool.py new file mode 100644 index 00000000..8be81c75 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/archive_location_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ArchiveLocation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"location":"/path/to/archive","options":{"compress":true}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/ashby_user_search_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/ashby_user_search_example_call_tool.js new file mode 100644 index 00000000..ae970ab5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/ashby_user_search_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.AshbyUserSearch"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"email\":\"user@example.com\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/ashby_user_search_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/ashby_user_search_example_call_tool.py new file mode 100644 index 00000000..64d278a3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/ashby_user_search_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.AshbyUserSearch" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"email":"user@example.com"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/cancel_assessment_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/cancel_assessment_example_call_tool.js new file mode 100644 index 00000000..ee89af8e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/cancel_assessment_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CancelAssessment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"assessmentId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/cancel_assessment_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/cancel_assessment_example_call_tool.py new file mode 100644 index 00000000..e4c8f54a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/cancel_assessment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CancelAssessment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"assessmentId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/cancel_interview_schedule_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/cancel_interview_schedule_example_call_tool.js new file mode 100644 index 00000000..d07d7c83 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/cancel_interview_schedule_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CancelInterviewSchedule"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "interview_schedule_cancel_details": { + "id": "12345", + "allowReschedule": false + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/cancel_interview_schedule_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/cancel_interview_schedule_example_call_tool.py new file mode 100644 index 00000000..d7456bac --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/cancel_interview_schedule_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CancelInterviewSchedule" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'interview_schedule_cancel_details': {'id': '12345', 'allowReschedule': False +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/change_application_source_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/change_application_source_example_call_tool.js new file mode 100644 index 00000000..cb9d0b24 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/change_application_source_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ChangeApplicationSource"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "application_source_details": { + "applicationId": "app123", + "sourceId": "source456" + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/change_application_source_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/change_application_source_example_call_tool.py new file mode 100644 index 00000000..df82e878 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/change_application_source_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ChangeApplicationSource" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'application_source_details': {'applicationId': 'app123', 'sourceId': 'source456' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/change_application_stage_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/change_application_stage_example_call_tool.js new file mode 100644 index 00000000..3102d6f3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/change_application_stage_example_call_tool.js @@ -0,0 +1,36 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ChangeApplicationStage"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "application_stage_change_details": { + "applicationId": "12345", + "interviewStageId": "67890", + "archiveReasonId": "1", + "archiveEmail": "example@example.com" + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/change_application_stage_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/change_application_stage_example_call_tool.py new file mode 100644 index 00000000..2a6f0b76 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/change_application_stage_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ChangeApplicationStage" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'application_stage_change_details': { 'applicationId': '12345', + 'interviewStageId': '67890', + 'archiveReasonId': '1', + 'archiveEmail': 'example@example.com' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_example_call_tool.js new file mode 100644 index 00000000..2f19d35a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateCandidate"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"John Doe\",\"email\":\"john.doe@example.com\",\"skills\":[\"Java\",\"Python\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_example_call_tool.py new file mode 100644 index 00000000..d06d80fb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateCandidate" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"name":"John Doe","email":"john.doe@example.com","skills":["Java","Python"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_note_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_note_example_call_tool.js new file mode 100644 index 00000000..edf8ea6a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_note_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateCandidateNote"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"note\":\"Interview feedback: Great communication skills and cultural fit.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_note_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_note_example_call_tool.py new file mode 100644 index 00000000..5f2ccc2a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_note_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateCandidateNote" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"candidateId":"12345","note":"Interview feedback: Great communication skills ' + 'and cultural fit."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_offer_version_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_offer_version_example_call_tool.js new file mode 100644 index 00000000..2dae6f97 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_offer_version_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateCandidateOfferVersion"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"offerDetails\":{\"position\":\"Software Engineer\",\"salary\":100000}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_offer_version_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_offer_version_example_call_tool.py new file mode 100644 index 00000000..4a62029a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_offer_version_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateCandidateOfferVersion" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"candidateId":"12345","offerDetails":{"position":"Software ' + 'Engineer","salary":100000}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_referral_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_referral_example_call_tool.js new file mode 100644 index 00000000..68f1a7ff --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_referral_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateCandidateReferral"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"referrerId\":\"67890\",\"position\":\"Software Engineer\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_referral_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_referral_example_call_tool.py new file mode 100644 index 00000000..065d468e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_referral_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateCandidateReferral" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"candidateId":"12345","referrerId":"67890","position":"Software Engineer"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_tag_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_tag_example_call_tool.js new file mode 100644 index 00000000..8824ae95 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_tag_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateCandidateTag"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"tagName\":\"Urgent\",\"description\":\"Candidates that need immediate attention\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_candidate_tag_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_tag_example_call_tool.py new file mode 100644 index 00000000..58d293ea --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_candidate_tag_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateCandidateTag" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"tagName":"Urgent","description":"Candidates that need immediate attention"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_custom_field_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_custom_field_example_call_tool.js new file mode 100644 index 00000000..cec30bef --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_custom_field_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateCustomField"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"field_name\":\"New Custom Field\",\"field_type\":\"text\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_custom_field_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_custom_field_example_call_tool.py new file mode 100644 index 00000000..08b7a103 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_custom_field_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateCustomField" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"field_name":"New Custom Field","field_type":"text"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_department_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_department_example_call_tool.js new file mode 100644 index 00000000..81b23e15 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_department_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateDepartment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"Engineering\",\"description\":\"Handles all engineering tasks\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_department_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_department_example_call_tool.py new file mode 100644 index 00000000..f986e316 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_department_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateDepartment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"name":"Engineering","description":"Handles all engineering tasks"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_interview_schedule_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_interview_schedule_example_call_tool.js new file mode 100644 index 00000000..9d0b5641 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_interview_schedule_example_call_tool.js @@ -0,0 +1,43 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateInterviewSchedule"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "interview_schedule_request": { + "application_id": "app_12345", + "interview_events": [ + { + "start_time": "2023-10-15T10:00:00Z", + "end_time": "2023-10-15T11:00:00Z", + "interviewers": [ + "interviewer_1", + "interviewer_2" + ] + } + ] + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_interview_schedule_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_interview_schedule_example_call_tool.py new file mode 100644 index 00000000..396407f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_interview_schedule_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateInterviewSchedule" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'interview_schedule_request': { 'application_id': 'app_12345', + 'interview_events': [ { 'start_time': '2023-10-15T10:00:00Z', + 'end_time': '2023-10-15T11:00:00Z', + 'interviewers': [ 'interviewer_1', + 'interviewer_2']}] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_interviewer_pool_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_interviewer_pool_example_call_tool.js new file mode 100644 index 00000000..9306766e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_interviewer_pool_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateInterviewerPool"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"pool_name\":\"Engineering Interviewers\",\"interviewer_ids\":[\"id1\",\"id2\",\"id3\"]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_interviewer_pool_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_interviewer_pool_example_call_tool.py new file mode 100644 index 00000000..b84b9764 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_interviewer_pool_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateInterviewerPool" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"pool_name":"Engineering ' + 'Interviewers","interviewer_ids":["id1","id2","id3"]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_job_application_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_job_application_example_call_tool.js new file mode 100644 index 00000000..e5d7f232 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_job_application_example_call_tool.js @@ -0,0 +1,49 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateJobApplication"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "job_application_data": { + "candidateId": "12345", + "jobId": "67890", + "interviewPlanId": "abcde", + "interviewStageId": "stage1", + "sourceId": "source1", + "creditedToUserId": "user1", + "createdAt": "2023-10-01T12:00:00Z", + "applicationHistory": [ + { + "status": "applied", + "date": "2023-10-01" + }, + { + "status": "interviewed", + "date": "2023-10-05" + } + ] + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_job_application_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_job_application_example_call_tool.py new file mode 100644 index 00000000..011b0379 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_job_application_example_call_tool.py @@ -0,0 +1,39 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateJobApplication" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'job_application_data': { 'candidateId': '12345', + 'jobId': '67890', + 'interviewPlanId': 'abcde', + 'interviewStageId': 'stage1', + 'sourceId': 'source1', + 'creditedToUserId': 'user1', + 'createdAt': '2023-10-01T12:00:00Z', + 'applicationHistory': [ { 'status': 'applied', + 'date': '2023-10-01'}, + { 'status': 'interviewed', + 'date': '2023-10-05'}] +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_job_opening_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_job_opening_example_call_tool.js new file mode 100644 index 00000000..9a6ca476 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_job_opening_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateJobOpening"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "department_team_id": "dept123", + "employment_type": "FullTime", + "job_description": "We are looking for a software engineer to join our team.", + "opening_state": "Open", + "target_hire_date": "2023-12-01" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_job_opening_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_job_opening_example_call_tool.py new file mode 100644 index 00000000..fec76db3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_job_opening_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateJobOpening" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'department_team_id': 'dept123', + 'employment_type': 'FullTime', + 'job_description': 'We are looking for a software engineer to join our team.', + 'opening_state': 'Open', + 'target_hire_date': '2023-12-01' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_location_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_location_example_call_tool.js new file mode 100644 index 00000000..50402be5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_location_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateLocation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"name\":\"New Branch\",\"type\":\"branch\",\"location\":\"123 Main St, Anytown, USA\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_location_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_location_example_call_tool.py new file mode 100644 index 00000000..4cfc5562 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_location_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateLocation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"name":"New Branch","type":"branch","location":"123 Main St, Anytown, USA"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_new_job_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_new_job_example_call_tool.js new file mode 100644 index 00000000..e5848116 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_new_job_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateNewJob"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"title\":\"Software Engineer\",\"description\":\"Develop and maintain software applications.\",\"location\":\"Remote\",\"salary\":\"100000\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_new_job_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_new_job_example_call_tool.py new file mode 100644 index 00000000..47b89862 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_new_job_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateNewJob" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"title":"Software Engineer","description":"Develop and maintain software ' + 'applications.","location":"Remote","salary":"100000"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_offer_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_offer_example_call_tool.js new file mode 100644 index 00000000..ea5c9244 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_offer_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateOffer"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"title\":\"Special Offer\",\"discount\":20,\"validUntil\":\"2023-12-31\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_offer_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_offer_example_call_tool.py new file mode 100644 index 00000000..b79ab8a7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_offer_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateOffer" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"title":"Special Offer","discount":20,"validUntil":"2023-12-31"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_survey_request_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_survey_request_example_call_tool.js new file mode 100644 index 00000000..d1f178cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_survey_request_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateSurveyRequest"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"title\":\"Candidate Feedback Survey\",\"questions\":[{\"question\":\"How would you rate your experience?\",\"type\":\"scale\",\"options\":[1,2,3,4,5]}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_survey_request_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_survey_request_example_call_tool.py new file mode 100644 index 00000000..0ab11a88 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_survey_request_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateSurveyRequest" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"title":"Candidate Feedback Survey","questions":[{"question":"How would you ' + 'rate your experience?","type":"scale","options":[1,2,3,4,5]}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_survey_submission_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_survey_submission_example_call_tool.js new file mode 100644 index 00000000..32f8cb49 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_survey_submission_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateSurveySubmission"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"surveyId\":\"12345\",\"responses\":{\"question1\":\"yes\",\"question2\":\"no\"}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_survey_submission_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_survey_submission_example_call_tool.py new file mode 100644 index 00000000..b81062cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_survey_submission_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateSurveySubmission" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"surveyId":"12345","responses":{"question1":"yes","question2":"no"}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_webhook_setting_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/create_webhook_setting_example_call_tool.js new file mode 100644 index 00000000..aa68d8ea --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_webhook_setting_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.CreateWebhookSetting"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_configuration": { + "webhookType": "event", + "requestUrl": "https://example.com/webhook", + "secretToken": "abc123" + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/create_webhook_setting_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/create_webhook_setting_example_call_tool.py new file mode 100644 index 00000000..4fc650b7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/create_webhook_setting_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.CreateWebhookSetting" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_configuration': { 'webhookType': 'event', + 'requestUrl': 'https://example.com/webhook', + 'secretToken': 'abc123' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/delete_webhook_setting_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/delete_webhook_setting_example_call_tool.js new file mode 100644 index 00000000..f6853296 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/delete_webhook_setting_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.DeleteWebhookSetting"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_id": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/delete_webhook_setting_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/delete_webhook_setting_example_call_tool.py new file mode 100644 index 00000000..08913c83 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/delete_webhook_setting_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.DeleteWebhookSetting" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_id': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/fetch_application_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/fetch_application_details_example_call_tool.js new file mode 100644 index 00000000..33fedb15 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/fetch_application_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.FetchApplicationDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"applicationId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/fetch_application_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/fetch_application_details_example_call_tool.py new file mode 100644 index 00000000..1833d8f0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/fetch_application_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.FetchApplicationDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"applicationId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_details_example_call_tool.js new file mode 100644 index 00000000..0e94dd55 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_details_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.FetchInterviewDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "interview_id": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_details_example_call_tool.py new file mode 100644 index 00000000..9e69ec1d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.FetchInterviewDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'interview_id': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_stage_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_stage_details_example_call_tool.js new file mode 100644 index 00000000..4e5d20ca --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_stage_details_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.FetchInterviewStageDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "interview_stage_id": "stage_12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_stage_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_stage_details_example_call_tool.py new file mode 100644 index 00000000..5b0e6a56 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/fetch_interview_stage_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.FetchInterviewStageDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'interview_stage_id': 'stage_12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/find_candidates_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/find_candidates_example_call_tool.js new file mode 100644 index 00000000..d9332edb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/find_candidates_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.FindCandidates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "candidate_email": "john.doe@example.com", + "candidate_name": "John Doe" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/find_candidates_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/find_candidates_example_call_tool.py new file mode 100644 index 00000000..18706fce --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/find_candidates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.FindCandidates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'candidate_email': 'john.doe@example.com', 'candidate_name': 'John Doe' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/generate_and_poll_report_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/generate_and_poll_report_example_call_tool.js new file mode 100644 index 00000000..e44e021f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/generate_and_poll_report_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GenerateAndPollReport"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"reportId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/generate_and_poll_report_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/generate_and_poll_report_example_call_tool.py new file mode 100644 index 00000000..5707b27a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/generate_and_poll_report_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GenerateAndPollReport" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"reportId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_api_key_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_api_key_info_example_call_tool.js new file mode 100644 index 00000000..d669a3e8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_api_key_info_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetApiKeyInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "empty_request_body": {} +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_api_key_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_api_key_info_example_call_tool.py new file mode 100644 index 00000000..50297c9b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_api_key_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetApiKeyInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'empty_request_body': { +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_application_history_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_application_history_example_call_tool.js new file mode 100644 index 00000000..73ea335c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_application_history_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetApplicationHistory"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"applicationId\":\"12345\",\"page\":1,\"pageSize\":10}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_application_history_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_application_history_example_call_tool.py new file mode 100644 index 00000000..d50f057c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_application_history_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetApplicationHistory" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"applicationId":"12345","page":1,"pageSize":10}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_approval_list_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_approval_list_example_call_tool.js new file mode 100644 index 00000000..207b3468 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_approval_list_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetApprovalList"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"entityType\":\"user\",\"entityId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_approval_list_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_approval_list_example_call_tool.py new file mode 100644 index 00000000..f885420e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_approval_list_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetApprovalList" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"entityType":"user","entityId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_info_example_call_tool.js new file mode 100644 index 00000000..97684062 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetAshbyUserInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"userId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_info_example_call_tool.py new file mode 100644 index 00000000..2716aa0d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetAshbyUserInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"userId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_list_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_list_example_call_tool.js new file mode 100644 index 00000000..0248e893 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_list_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetAshbyUserList"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_list_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_list_example_call_tool.py new file mode 100644 index 00000000..c3950ce5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_ashby_user_list_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetAshbyUserList" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_candidate_criteria_evaluations_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_criteria_evaluations_example_call_tool.js new file mode 100644 index 00000000..5cdde1cc --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_criteria_evaluations_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetCandidateCriteriaEvaluations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\",\"job_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_candidate_criteria_evaluations_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_criteria_evaluations_example_call_tool.py new file mode 100644 index 00000000..d3fe7509 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_criteria_evaluations_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetCandidateCriteriaEvaluations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345","job_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_candidate_information_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_information_example_call_tool.js new file mode 100644 index 00000000..4b870293 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_information_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetCandidateInformation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_candidate_information_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_information_example_call_tool.py new file mode 100644 index 00000000..9eb523a2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_candidate_information_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetCandidateInformation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_custom_field_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_custom_field_info_example_call_tool.js new file mode 100644 index 00000000..cf8d9b94 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_custom_field_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetCustomFieldInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"fieldId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_custom_field_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_custom_field_info_example_call_tool.py new file mode 100644 index 00000000..aa2e79eb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_custom_field_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetCustomFieldInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"fieldId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_department_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_department_details_example_call_tool.js new file mode 100644 index 00000000..81323261 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_department_details_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetDepartmentDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "department_id": "12345" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_department_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_department_details_example_call_tool.py new file mode 100644 index 00000000..db975d33 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_department_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetDepartmentDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'department_id': '12345' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_feedback_form_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_feedback_form_info_example_call_tool.js new file mode 100644 index 00000000..995f0f87 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_feedback_form_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetFeedbackFormInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"form_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_feedback_form_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_feedback_form_info_example_call_tool.py new file mode 100644 index 00000000..9cb9dfe9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_feedback_form_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetFeedbackFormInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"form_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_hiring_team_roles_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_hiring_team_roles_example_call_tool.js new file mode 100644 index 00000000..8ad9e7a0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_hiring_team_roles_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetHiringTeamRoles"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_hiring_team_roles_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_hiring_team_roles_example_call_tool.py new file mode 100644 index 00000000..f3c4bd2b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_hiring_team_roles_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetHiringTeamRoles" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_interview_schedules_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_interview_schedules_example_call_tool.js new file mode 100644 index 00000000..c20c2744 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_interview_schedules_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetInterviewSchedules"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"organizationId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_interview_schedules_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_interview_schedules_example_call_tool.py new file mode 100644 index 00000000..273eaa52 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_interview_schedules_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetInterviewSchedules" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"organizationId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_pool_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_pool_info_example_call_tool.js new file mode 100644 index 00000000..b847ca76 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_pool_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetInterviewerPoolInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"poolId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_pool_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_pool_info_example_call_tool.py new file mode 100644 index 00000000..4f0d0860 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_pool_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetInterviewerPoolInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"poolId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_settings_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_settings_example_call_tool.js new file mode 100644 index 00000000..2ea5fdde --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_settings_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetInterviewerSettings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"userId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_settings_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_settings_example_call_tool.py new file mode 100644 index 00000000..0969f8c6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_interviewer_settings_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetInterviewerSettings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"userId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_job_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_job_details_example_call_tool.js new file mode 100644 index 00000000..f6e593d6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_job_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetJobDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"job_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_job_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_job_details_example_call_tool.py new file mode 100644 index 00000000..27b71e32 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_job_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetJobDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"job_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_job_posting_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_job_posting_info_example_call_tool.js new file mode 100644 index 00000000..395aedfa --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_job_posting_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetJobPostingInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"job_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_job_posting_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_job_posting_info_example_call_tool.py new file mode 100644 index 00000000..1599586c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_job_posting_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetJobPostingInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"job_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_latest_offers_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_latest_offers_example_call_tool.js new file mode 100644 index 00000000..72b671ee --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_latest_offers_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetLatestOffers"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"latest\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_latest_offers_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_latest_offers_example_call_tool.py new file mode 100644 index 00000000..a3cc5fdd --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_latest_offers_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetLatestOffers" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"latest"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_location_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_location_details_example_call_tool.js new file mode 100644 index 00000000..210c4bac --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_location_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetLocationDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"location_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_location_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_location_details_example_call_tool.py new file mode 100644 index 00000000..e59a9708 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_location_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetLocationDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"location_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_offer_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_offer_details_example_call_tool.js new file mode 100644 index 00000000..2fc6748a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_offer_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetOfferDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"offer_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_offer_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_offer_details_example_call_tool.py new file mode 100644 index 00000000..f9f7c2b4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_offer_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetOfferDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"offer_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_opening_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_opening_info_example_call_tool.js new file mode 100644 index 00000000..a375745e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_opening_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetOpeningInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"uuid\":\"123e4567-e89b-12d3-a456-426614174000\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_opening_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_opening_info_example_call_tool.py new file mode 100644 index 00000000..71eb71b4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_opening_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetOpeningInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"uuid":"123e4567-e89b-12d3-a456-426614174000"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_project_information_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_project_information_example_call_tool.js new file mode 100644 index 00000000..afd7cfe3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_project_information_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetProjectInformation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"uuid\":\"123e4567-e89b-12d3-a456-426614174000\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_project_information_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_project_information_example_call_tool.py new file mode 100644 index 00000000..48774557 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_project_information_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetProjectInformation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"uuid":"123e4567-e89b-12d3-a456-426614174000"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_referral_form_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_referral_form_info_example_call_tool.js new file mode 100644 index 00000000..fcc217f8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_referral_form_info_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetReferralFormInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_referral_form_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_referral_form_info_example_call_tool.py new file mode 100644 index 00000000..b21861ff --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_referral_form_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetReferralFormInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_survey_form_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/get_survey_form_details_example_call_tool.js new file mode 100644 index 00000000..26477b21 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_survey_form_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.GetSurveyFormDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/get_survey_form_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/get_survey_form_details_example_call_tool.py new file mode 100644 index 00000000..aa3f0ba3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/get_survey_form_details_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.GetSurveyFormDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/hiring_team_add_member_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/hiring_team_add_member_example_call_tool.js new file mode 100644 index 00000000..23e7a089 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/hiring_team_add_member_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.HiringTeamAddMember"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"userId\":\"12345\",\"jobId\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/hiring_team_add_member_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/hiring_team_add_member_example_call_tool.py new file mode 100644 index 00000000..93285ade --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/hiring_team_add_member_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.HiringTeamAddMember" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"userId":"12345","jobId":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/job_interview_plan_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/job_interview_plan_info_example_call_tool.js new file mode 100644 index 00000000..84eba921 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/job_interview_plan_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.JobInterviewPlanInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"job_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/job_interview_plan_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/job_interview_plan_info_example_call_tool.py new file mode 100644 index 00000000..52a6dfd6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/job_interview_plan_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.JobInterviewPlanInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"job_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_all_jobs_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_all_jobs_example_call_tool.js new file mode 100644 index 00000000..ac872ceb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_all_jobs_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListAllJobs"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"status\":\"open\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_all_jobs_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_all_jobs_example_call_tool.py new file mode 100644 index 00000000..1922ce17 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_all_jobs_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListAllJobs" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"status":"open"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_all_locations_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_all_locations_example_call_tool.js new file mode 100644 index 00000000..73309fe8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_all_locations_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListAllLocations"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_all_locations_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_all_locations_example_call_tool.py new file mode 100644 index 00000000..466250c2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_all_locations_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListAllLocations" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_all_sources_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_all_sources_example_call_tool.js new file mode 100644 index 00000000..7fbf09d1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_all_sources_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListAllSources"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_archived_items": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_all_sources_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_all_sources_example_call_tool.py new file mode 100644 index 00000000..8a900812 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_all_sources_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListAllSources" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_archived_items': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_application_feedback_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_application_feedback_example_call_tool.js new file mode 100644 index 00000000..b1be6ae5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_application_feedback_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListApplicationFeedback"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"application_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_application_feedback_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_application_feedback_example_call_tool.py new file mode 100644 index 00000000..487ddac2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_application_feedback_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListApplicationFeedback" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"application_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_applications_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_applications_example_call_tool.js new file mode 100644 index 00000000..2d9e8227 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_applications_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListApplications"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_applications_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_applications_example_call_tool.py new file mode 100644 index 00000000..e131e88c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_applications_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListApplications" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_archive_reasons_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_archive_reasons_example_call_tool.js new file mode 100644 index 00000000..03596899 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_archive_reasons_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListArchiveReasons"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_archived_interview_plans": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_archive_reasons_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_archive_reasons_example_call_tool.py new file mode 100644 index 00000000..2af1e486 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_archive_reasons_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListArchiveReasons" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_archived_interview_plans': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_assessments_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_assessments_example_call_tool.js new file mode 100644 index 00000000..38fdcbd2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_assessments_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListAssessments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_assessments_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_assessments_example_call_tool.py new file mode 100644 index 00000000..ddf1a845 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_assessments_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListAssessments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_client_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_client_info_example_call_tool.js new file mode 100644 index 00000000..1a5b214b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_client_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCandidateClientInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_client_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_client_info_example_call_tool.py new file mode 100644 index 00000000..2d444794 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_client_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCandidateClientInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_notes_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_notes_example_call_tool.js new file mode 100644 index 00000000..28a8de4b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_notes_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCandidateNotes"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_notes_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_notes_example_call_tool.py new file mode 100644 index 00000000..4cd0fc2d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_notes_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCandidateNotes" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_projects_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_projects_example_call_tool.js new file mode 100644 index 00000000..f4d30f4a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_projects_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCandidateProjects"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_projects_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_projects_example_call_tool.py new file mode 100644 index 00000000..b1352e57 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_projects_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCandidateProjects" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_tags_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_tags_example_call_tool.js new file mode 100644 index 00000000..cc2f199b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_tags_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCandidateTags"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"criteria\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidate_tags_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_tags_example_call_tool.py new file mode 100644 index 00000000..396622f3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidate_tags_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCandidateTags" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"criteria":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidates_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_candidates_example_call_tool.js new file mode 100644 index 00000000..79c653ad --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidates_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCandidates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"organizationId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_candidates_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_candidates_example_call_tool.py new file mode 100644 index 00000000..a9786793 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_candidates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCandidates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"organizationId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_close_reasons_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_close_reasons_example_call_tool.js new file mode 100644 index 00000000..88e8e9bc --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_close_reasons_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCloseReasons"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_archived_reasons": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_close_reasons_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_close_reasons_example_call_tool.py new file mode 100644 index 00000000..b2a2adae --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_close_reasons_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCloseReasons" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_archived_reasons': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_custom_fields_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_custom_fields_example_call_tool.js new file mode 100644 index 00000000..9fa15d60 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_custom_fields_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListCustomFields"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_custom_fields_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_custom_fields_example_call_tool.py new file mode 100644 index 00000000..00b86618 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_custom_fields_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListCustomFields" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_departments_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_departments_example_call_tool.js new file mode 100644 index 00000000..c3c476f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_departments_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListDepartments"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"includeInactive\":false}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_departments_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_departments_example_call_tool.py new file mode 100644 index 00000000..449b3372 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_departments_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListDepartments" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"includeInactive":false}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_enabled_communication_templates_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_communication_templates_example_call_tool.js new file mode 100644 index 00000000..59f597f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_communication_templates_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListEnabledCommunicationTemplates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_enabled_communication_templates_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_communication_templates_example_call_tool.py new file mode 100644 index 00000000..efacb55f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_communication_templates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListEnabledCommunicationTemplates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_enabled_job_boards_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_job_boards_example_call_tool.js new file mode 100644 index 00000000..b726c80e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_job_boards_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListEnabledJobBoards"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "request_body_data": { + "includeInactive": false + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_enabled_job_boards_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_job_boards_example_call_tool.py new file mode 100644 index 00000000..9d2c9e6d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_enabled_job_boards_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListEnabledJobBoards" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'request_body_data': {'includeInactive': False +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_feedback_forms_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_feedback_forms_example_call_tool.js new file mode 100644 index 00000000..a0d03182 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_feedback_forms_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListFeedbackForms"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_feedback_forms_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_feedback_forms_example_call_tool.py new file mode 100644 index 00000000..0abb68b3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_feedback_forms_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListFeedbackForms" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_hiring_team_roles_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_hiring_team_roles_example_call_tool.js new file mode 100644 index 00000000..b734e0e3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_hiring_team_roles_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListHiringTeamRoles"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "return_role_titles_only": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_hiring_team_roles_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_hiring_team_roles_example_call_tool.py new file mode 100644 index 00000000..54a0ed67 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_hiring_team_roles_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListHiringTeamRoles" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'return_role_titles_only': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_events_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_interview_events_example_call_tool.js new file mode 100644 index 00000000..532ccaa8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_events_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListInterviewEvents"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"scheduleId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_events_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_interview_events_example_call_tool.py new file mode 100644 index 00000000..8933c5d4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_events_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListInterviewEvents" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"scheduleId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_plans_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_interview_plans_example_call_tool.js new file mode 100644 index 00000000..c9210de1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_plans_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListInterviewPlans"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"filter\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_plans_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_interview_plans_example_call_tool.py new file mode 100644 index 00000000..91c68138 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_plans_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListInterviewPlans" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"filter":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_stage_groups_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stage_groups_example_call_tool.js new file mode 100644 index 00000000..a07fbc92 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stage_groups_example_call_tool.js @@ -0,0 +1,29 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListInterviewStageGroups"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = {}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_stage_groups_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stage_groups_example_call_tool.py new file mode 100644 index 00000000..5329c0cb --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stage_groups_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListInterviewStageGroups" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_stages_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stages_example_call_tool.js new file mode 100644 index 00000000..47cbff0b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stages_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListInterviewStages"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"interview_plan_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interview_stages_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stages_example_call_tool.py new file mode 100644 index 00000000..38af1306 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interview_stages_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListInterviewStages" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"interview_plan_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interviewer_pools_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_interviewer_pools_example_call_tool.js new file mode 100644 index 00000000..ccd9747f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interviewer_pools_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListInterviewerPools"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"example_key\":\"example_value\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interviewer_pools_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_interviewer_pools_example_call_tool.py new file mode 100644 index 00000000..e4d6b576 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interviewer_pools_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListInterviewerPools" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"example_key":"example_value"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interviews_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_interviews_example_call_tool.js new file mode 100644 index 00000000..fd6f1eb1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interviews_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListInterviews"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"status\":\"upcoming\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_interviews_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_interviews_example_call_tool.py new file mode 100644 index 00000000..dc1c48c4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_interviews_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListInterviews" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"status":"upcoming"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_job_openings_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_job_openings_example_call_tool.js new file mode 100644 index 00000000..8b114870 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_job_openings_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListJobOpenings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "last_sync_token": "abc123", + "page_cursor": "page_2" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_job_openings_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_job_openings_example_call_tool.py new file mode 100644 index 00000000..b72234bf --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_job_openings_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListJobOpenings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'last_sync_token': 'abc123', 'page_cursor': 'page_2' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_job_templates_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_job_templates_example_call_tool.js new file mode 100644 index 00000000..ef565499 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_job_templates_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListJobTemplates"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"status\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_job_templates_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_job_templates_example_call_tool.py new file mode 100644 index 00000000..4783cf3b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_job_templates_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListJobTemplates" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"status":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_projects_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_projects_example_call_tool.js new file mode 100644 index 00000000..33b26b60 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_projects_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListProjects"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "last_sync_token": "abc123", + "max_items_to_return": 50 +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_projects_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_projects_example_call_tool.py new file mode 100644 index 00000000..aebbcdc0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_projects_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListProjects" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'last_sync_token': 'abc123', 'max_items_to_return': 50 +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_published_job_postings_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_published_job_postings_example_call_tool.js new file mode 100644 index 00000000..4f187bdf --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_published_job_postings_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListPublishedJobPostings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"listedOnly\":true}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_published_job_postings_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_published_job_postings_example_call_tool.py new file mode 100644 index 00000000..b30536ba --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_published_job_postings_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListPublishedJobPostings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"listedOnly":true}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_source_tracking_links_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_source_tracking_links_example_call_tool.js new file mode 100644 index 00000000..3d4dc672 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_source_tracking_links_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListSourceTrackingLinks"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "include_disabled_tracking_links": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_source_tracking_links_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_source_tracking_links_example_call_tool.py new file mode 100644 index 00000000..51e273d2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_source_tracking_links_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListSourceTrackingLinks" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'include_disabled_tracking_links': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_survey_form_definitions_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_survey_form_definitions_example_call_tool.js new file mode 100644 index 00000000..0af3b34d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_survey_form_definitions_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListSurveyFormDefinitions"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"surveyId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_survey_form_definitions_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_survey_form_definitions_example_call_tool.py new file mode 100644 index 00000000..b767f90d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_survey_form_definitions_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListSurveyFormDefinitions" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"surveyId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_survey_requests_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_survey_requests_example_call_tool.js new file mode 100644 index 00000000..43e61696 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_survey_requests_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListSurveyRequests"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "get_request_schema" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_survey_requests_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_survey_requests_example_call_tool.py new file mode 100644 index 00000000..6876c22b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_survey_requests_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListSurveyRequests" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'get_request_schema' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_survey_submissions_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/list_survey_submissions_example_call_tool.js new file mode 100644 index 00000000..57f5a76e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_survey_submissions_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.ListSurveySubmissions"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"surveyType\":\"customer_feedback\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/list_survey_submissions_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/list_survey_submissions_example_call_tool.py new file mode 100644 index 00000000..b52683d4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/list_survey_submissions_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.ListSurveySubmissions" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"surveyType":"customer_feedback"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/move_department_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/move_department_example_call_tool.js new file mode 100644 index 00000000..6df7db1f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/move_department_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.MoveDepartment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"departmentId\":\"123\",\"newParentId\":\"456\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/move_department_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/move_department_example_call_tool.py new file mode 100644 index 00000000..78a7a3d5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/move_department_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.MoveDepartment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"departmentId":"123","newParentId":"456"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/move_location_in_hierarchy_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/move_location_in_hierarchy_example_call_tool.js new file mode 100644 index 00000000..975a9681 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/move_location_in_hierarchy_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.MoveLocationInHierarchy"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"locationId\":\"123\",\"newParentId\":\"456\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/move_location_in_hierarchy_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/move_location_in_hierarchy_example_call_tool.py new file mode 100644 index 00000000..64886f91 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/move_location_in_hierarchy_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.MoveLocationInHierarchy" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"locationId":"123","newParentId":"456"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/offer_approval_action_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/offer_approval_action_example_call_tool.js new file mode 100644 index 00000000..dcaaf970 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/offer_approval_action_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.OfferApprovalAction"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"offerId\":\"12345\",\"approvalStepId\":\"67890\",\"userId\":\"abcde\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/offer_approval_action_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/offer_approval_action_example_call_tool.py new file mode 100644 index 00000000..c7b07136 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/offer_approval_action_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.OfferApprovalAction" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"offerId":"12345","approvalStepId":"67890","userId":"abcde"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_hiring_team_member_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/remove_hiring_team_member_example_call_tool.js new file mode 100644 index 00000000..76d7e4aa --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_hiring_team_member_example_call_tool.js @@ -0,0 +1,35 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RemoveHiringTeamMember"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "hiring_team_removal_details": { + "applicationId": "app123", + "teamMemberId": "user456", + "roleId": "role789" + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_hiring_team_member_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/remove_hiring_team_member_example_call_tool.py new file mode 100644 index 00000000..ff759124 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_hiring_team_member_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RemoveHiringTeamMember" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'hiring_team_removal_details': { 'applicationId': 'app123', + 'teamMemberId': 'user456', + 'roleId': 'role789' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_job_from_opening_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/remove_job_from_opening_example_call_tool.js new file mode 100644 index 00000000..10ac0bf9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_job_from_opening_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RemoveJobFromOpening"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"jobId\":\"12345\",\"openingId\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_job_from_opening_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/remove_job_from_opening_example_call_tool.py new file mode 100644 index 00000000..d774914c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_job_from_opening_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RemoveJobFromOpening" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"jobId":"12345","openingId":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_location_from_opening_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/remove_location_from_opening_example_call_tool.js new file mode 100644 index 00000000..32dabb86 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_location_from_opening_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RemoveLocationFromOpening"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"job_id\":\"12345\",\"location\":\"New York\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_location_from_opening_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/remove_location_from_opening_example_call_tool.py new file mode 100644 index 00000000..969cd47e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_location_from_opening_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RemoveLocationFromOpening" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"job_id":"12345","location":"New York"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_team_member_from_hiring_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/remove_team_member_from_hiring_example_call_tool.js new file mode 100644 index 00000000..d8d804d7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_team_member_from_hiring_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RemoveTeamMemberFromHiring"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"user_id\":\"12345\",\"job_id\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_team_member_from_hiring_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/remove_team_member_from_hiring_example_call_tool.py new file mode 100644 index 00000000..7cc9b103 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_team_member_from_hiring_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RemoveTeamMemberFromHiring" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"user_id":"12345","job_id":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_user_from_interviewer_pool_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/remove_user_from_interviewer_pool_example_call_tool.js new file mode 100644 index 00000000..c87e88bd --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_user_from_interviewer_pool_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RemoveUserFromInterviewerPool"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"userId\":\"12345\",\"poolId\":\"67890\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/remove_user_from_interviewer_pool_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/remove_user_from_interviewer_pool_example_call_tool.py new file mode 100644 index 00000000..fdddc97c --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/remove_user_from_interviewer_pool_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RemoveUserFromInterviewerPool" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"userId":"12345","poolId":"67890"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/restore_archived_location_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/restore_archived_location_example_call_tool.js new file mode 100644 index 00000000..3e496c25 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/restore_archived_location_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RestoreArchivedLocation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"locationId\":\"12345\",\"restoreDate\":\"2023-10-01\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/restore_archived_location_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/restore_archived_location_example_call_tool.py new file mode 100644 index 00000000..3928219a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/restore_archived_location_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RestoreArchivedLocation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"locationId":"12345","restoreDate":"2023-10-01"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/restore_department_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/restore_department_example_call_tool.js new file mode 100644 index 00000000..03248c8b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/restore_department_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RestoreDepartment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"departmentId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/restore_department_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/restore_department_example_call_tool.py new file mode 100644 index 00000000..8292d918 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/restore_department_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RestoreDepartment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"departmentId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/restore_interviewer_pool_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/restore_interviewer_pool_example_call_tool.js new file mode 100644 index 00000000..c12abdec --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/restore_interviewer_pool_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RestoreInterviewerPool"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"pool_id\":\"12345\",\"status\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/restore_interviewer_pool_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/restore_interviewer_pool_example_call_tool.py new file mode 100644 index 00000000..d33e6168 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/restore_interviewer_pool_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RestoreInterviewerPool" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"pool_id":"12345","status":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/retrieve_candidate_file_url_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/retrieve_candidate_file_url_example_call_tool.js new file mode 100644 index 00000000..6b1790f8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/retrieve_candidate_file_url_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RetrieveCandidateFileUrl"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/retrieve_candidate_file_url_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/retrieve_candidate_file_url_example_call_tool.py new file mode 100644 index 00000000..2fa1ca1f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/retrieve_candidate_file_url_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RetrieveCandidateFileUrl" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidateId":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/retrieve_sync_report_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/retrieve_sync_report_example_call_tool.js new file mode 100644 index 00000000..56080b48 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/retrieve_sync_report_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RetrieveSyncReport"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"reportId\":\"12345\",\"filters\":{\"dateRange\":\"last_month\"}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/retrieve_sync_report_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/retrieve_sync_report_example_call_tool.py new file mode 100644 index 00000000..31675378 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/retrieve_sync_report_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RetrieveSyncReport" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"reportId":"12345","filters":{"dateRange":"last_month"}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/retrieve_webhook_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/retrieve_webhook_info_example_call_tool.js new file mode 100644 index 00000000..f26af852 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/retrieve_webhook_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.RetrieveWebhookInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"webhook_id\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/retrieve_webhook_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/retrieve_webhook_info_example_call_tool.py new file mode 100644 index 00000000..ea79b427 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/retrieve_webhook_info_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.RetrieveWebhookInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"webhook_id":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/search_job_openings_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/search_job_openings_example_call_tool.js new file mode 100644 index 00000000..016c8fb5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/search_job_openings_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SearchJobOpenings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"identifier\":\"12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/search_job_openings_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/search_job_openings_example_call_tool.py new file mode 100644 index 00000000..f5bceb82 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/search_job_openings_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SearchJobOpenings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"identifier":"12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/search_jobs_by_title_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/search_jobs_by_title_example_call_tool.js new file mode 100644 index 00000000..fcfdd5f2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/search_jobs_by_title_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SearchJobsByTitle"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"title\":\"Software Engineer\",\"location\":\"New York\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/search_jobs_by_title_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/search_jobs_by_title_example_call_tool.py new file mode 100644 index 00000000..4efa3cd6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/search_jobs_by_title_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SearchJobsByTitle" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"title":"Software Engineer","location":"New York"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/search_projects_by_title_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/search_projects_by_title_example_call_tool.js new file mode 100644 index 00000000..0e7eadb3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/search_projects_by_title_example_call_tool.js @@ -0,0 +1,31 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SearchProjectsByTitle"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "project_title": "AI Research" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/search_projects_by_title_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/search_projects_by_title_example_call_tool.py new file mode 100644 index 00000000..d4ba4a9d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/search_projects_by_title_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SearchProjectsByTitle" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'project_title': 'AI Research' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_custom_field_value_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/set_custom_field_value_example_call_tool.js new file mode 100644 index 00000000..252d96bc --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_custom_field_value_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SetCustomFieldValue"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"object_id\":\"12345\",\"custom_field\":\"status\",\"value\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_custom_field_value_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/set_custom_field_value_example_call_tool.py new file mode 100644 index 00000000..ffed367a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_custom_field_value_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SetCustomFieldValue" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"object_id":"12345","custom_field":"status","value":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_job_status_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/set_job_status_example_call_tool.js new file mode 100644 index 00000000..1103e1b6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_job_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SetJobStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"jobId\":\"12345\",\"status\":\"Open\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_job_status_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/set_job_status_example_call_tool.py new file mode 100644 index 00000000..0bc975c1 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_job_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SetJobStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"jobId":"12345","status":"Open"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_opening_archived_state_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/set_opening_archived_state_example_call_tool.js new file mode 100644 index 00000000..463bef3b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_opening_archived_state_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SetOpeningArchivedState"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "opening_id": "12345", + "set_archived_state": true +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_opening_archived_state_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/set_opening_archived_state_example_call_tool.py new file mode 100644 index 00000000..abb35f78 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_opening_archived_state_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SetOpeningArchivedState" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'opening_id': '12345', 'set_archived_state': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_opening_state_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/set_opening_state_example_call_tool.js new file mode 100644 index 00000000..f8213110 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_opening_state_example_call_tool.js @@ -0,0 +1,33 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SetOpeningState"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "opening_id": "job_123", + "new_opening_state": "Closed", + "close_reason_id": "reason_456" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/set_opening_state_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/set_opening_state_example_call_tool.py new file mode 100644 index 00000000..16930a6e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/set_opening_state_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SetOpeningState" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'opening_id': 'job_123', 'new_opening_state': 'Closed', 'close_reason_id': 'reason_456' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/start_assessment_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/start_assessment_example_call_tool.js new file mode 100644 index 00000000..97cf310e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/start_assessment_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.StartAssessment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"position\":\"Software Engineer\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/start_assessment_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/start_assessment_example_call_tool.py new file mode 100644 index 00000000..bb1c7311 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/start_assessment_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.StartAssessment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidateId":"12345","position":"Software Engineer"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/start_offer_process_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/start_offer_process_example_call_tool.js new file mode 100644 index 00000000..a1de2ded --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/start_offer_process_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.StartOfferProcess"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"position\":\"Software Engineer\",\"salary\":100000}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/start_offer_process_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/start_offer_process_example_call_tool.py new file mode 100644 index 00000000..2b2e85ab --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/start_offer_process_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.StartOfferProcess" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"candidateId":"12345","position":"Software Engineer","salary":100000}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/submit_application_feedback_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/submit_application_feedback_example_call_tool.js new file mode 100644 index 00000000..396d8fe5 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/submit_application_feedback_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.SubmitApplicationFeedback"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"feedback\":\"Great application!\",\"score\":5}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/submit_application_feedback_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/submit_application_feedback_example_call_tool.py new file mode 100644 index 00000000..40cae41d --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/submit_application_feedback_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.SubmitApplicationFeedback" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"feedback":"Great application!","score":5}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/transfer_application_to_job_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/transfer_application_to_job_example_call_tool.js new file mode 100644 index 00000000..0c000138 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/transfer_application_to_job_example_call_tool.js @@ -0,0 +1,37 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.TransferApplicationToJob"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "application_transfer_details": { + "applicationId": "12345", + "jobId": "67890", + "interviewPlanId": "abcde", + "interviewStageId": "stage1", + "startAutomaticActivities": true + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/transfer_application_to_job_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/transfer_application_to_job_example_call_tool.py new file mode 100644 index 00000000..a788878b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/transfer_application_to_job_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.TransferApplicationToJob" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'application_transfer_details': { 'applicationId': '12345', + 'jobId': '67890', + 'interviewPlanId': 'abcde', + 'interviewStageId': 'stage1', + 'startAutomaticActivities': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_application_history_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_application_history_example_call_tool.js new file mode 100644 index 00000000..0fe07563 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_application_history_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateApplicationHistory"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"applicationId\":\"12345\",\"stage\":\"interview\",\"timestamp\":\"2023-10-01T12:00:00Z\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_application_history_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_application_history_example_call_tool.py new file mode 100644 index 00000000..54faa540 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_application_history_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateApplicationHistory" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"applicationId":"12345","stage":"interview","timestamp":"2023-10-01T12:00:00Z"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_application_status_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_application_status_example_call_tool.js new file mode 100644 index 00000000..1aedf39e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_application_status_example_call_tool.js @@ -0,0 +1,37 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateApplicationStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "application_update_payload": { + "applicationId": "12345", + "sourceId": "67890", + "creditedToUserId": "user_001", + "createdAt": "2023-10-01T12:00:00Z", + "sendNotifications": true + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_application_status_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_application_status_example_call_tool.py new file mode 100644 index 00000000..f66dfbac --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_application_status_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateApplicationStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'application_update_payload': { 'applicationId': '12345', + 'sourceId': '67890', + 'creditedToUserId': 'user_001', + 'createdAt': '2023-10-01T12:00:00Z', + 'sendNotifications': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_approval_definition_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_approval_definition_example_call_tool.js new file mode 100644 index 00000000..0c60ae89 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_approval_definition_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateApprovalDefinition"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"entityId\":\"12345\",\"approvalSteps\":[{\"step\":\"manager_approval\",\"required\":true},{\"step\":\"hr_approval\",\"required\":false}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_approval_definition_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_approval_definition_example_call_tool.py new file mode 100644 index 00000000..2745ead6 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_approval_definition_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateApprovalDefinition" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"entityId":"12345","approvalSteps":[{"step":"manager_approval","required":true},{"step":"hr_approval","required":false}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_assessment_status_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_assessment_status_example_call_tool.js new file mode 100644 index 00000000..398cd3aa --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_assessment_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateAssessmentStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidate_id\":\"12345\",\"assessment_status\":\"completed\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_assessment_status_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_assessment_status_example_call_tool.py new file mode 100644 index 00000000..c348618f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_assessment_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateAssessmentStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"candidate_id":"12345","assessment_status":"completed"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_candidate_info_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_candidate_info_example_call_tool.js new file mode 100644 index 00000000..fa9b7666 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_candidate_info_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateCandidateInfo"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"candidateId\":\"12345\",\"name\":\"John Doe\",\"email\":\"john.doe@example.com\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_candidate_info_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_candidate_info_example_call_tool.py new file mode 100644 index 00000000..b87229f8 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_candidate_info_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateCandidateInfo" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"candidateId":"12345","name":"John Doe","email":"john.doe@example.com"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_department_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_department_example_call_tool.js new file mode 100644 index 00000000..b84f6860 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_department_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateDepartment"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"departmentId\":\"123\",\"name\":\"Engineering\",\"location\":\"Building A\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_department_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_department_example_call_tool.py new file mode 100644 index 00000000..7f067e33 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_department_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateDepartment" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"departmentId":"123","name":"Engineering","location":"Building A"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_interview_schedule_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_interview_schedule_example_call_tool.js new file mode 100644 index 00000000..6212de71 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_interview_schedule_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateInterviewSchedule"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"interviewEventId\":\"12345\",\"action\":\"update\",\"newDate\":\"2023-10-15T10:00:00Z\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_interview_schedule_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_interview_schedule_example_call_tool.py new file mode 100644 index 00000000..5fbd2bab --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_interview_schedule_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateInterviewSchedule" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"interviewEventId":"12345","action":"update","newDate":"2023-10-15T10:00:00Z"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_pool_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_pool_example_call_tool.js new file mode 100644 index 00000000..3eda67d9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_pool_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateInterviewerPool"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"poolId\":\"12345\",\"interviewers\":[{\"name\":\"John Doe\",\"email\":\"john.doe@example.com\"},{\"name\":\"Jane Smith\",\"email\":\"jane.smith@example.com\"}]}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_pool_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_pool_example_call_tool.py new file mode 100644 index 00000000..110ec35b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_pool_example_call_tool.py @@ -0,0 +1,32 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateInterviewerPool" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"poolId":"12345","interviewers":[{"name":"John ' + 'Doe","email":"john.doe@example.com"},{"name":"Jane ' + 'Smith","email":"jane.smith@example.com"}]}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_settings_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_settings_example_call_tool.js new file mode 100644 index 00000000..7faa649a --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_settings_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateInterviewerSettings"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"userId\":\"12345\",\"limits\":{\"maxInterviews\":5,\"minExperience\":2}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_settings_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_settings_example_call_tool.py new file mode 100644 index 00000000..af8fa1f9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_interviewer_settings_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateInterviewerSettings" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"userId":"12345","limits":{"maxInterviews":5,"minExperience":2}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_compensation_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_job_compensation_example_call_tool.js new file mode 100644 index 00000000..1802e7ae --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_compensation_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateJobCompensation"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"jobId\":\"12345\",\"compensation\":{\"baseSalary\":70000,\"bonus\":5000}}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_compensation_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_job_compensation_example_call_tool.py new file mode 100644 index 00000000..1929a567 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_compensation_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateJobCompensation" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"jobId":"12345","compensation":{"baseSalary":70000,"bonus":5000}}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_details_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_job_details_example_call_tool.js new file mode 100644 index 00000000..c9d52f16 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_details_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateJobDetails"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"jobId\":\"12345\",\"title\":\"Software Engineer\",\"description\":\"Develop and maintain software applications.\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_details_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_job_details_example_call_tool.py new file mode 100644 index 00000000..42fd496e --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_details_example_call_tool.py @@ -0,0 +1,31 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateJobDetails" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"jobId":"12345","title":"Software Engineer","description":"Develop and ' + 'maintain software applications."}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_opening_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_job_opening_example_call_tool.js new file mode 100644 index 00000000..ff192c3b --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_opening_example_call_tool.js @@ -0,0 +1,38 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateJobOpening"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "department_team_id": "12345", + "employment_type": "FullTime", + "fields_to_update": "jobIds,targetHireDate", + "is_backfill": true, + "job_description_update": "We are looking for a skilled software engineer to join our team.", + "opening_identifier": "job-67890", + "target_hire_date": "2023-12-01", + "target_start_date": "2024-01-15" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_opening_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_job_opening_example_call_tool.py new file mode 100644 index 00000000..f8e274e2 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_opening_example_call_tool.py @@ -0,0 +1,36 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateJobOpening" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'department_team_id': '12345', + 'employment_type': 'FullTime', + 'fields_to_update': 'jobIds,targetHireDate', + 'is_backfill': True, + 'job_description_update': 'We are looking for a skilled software engineer to join our team.', + 'opening_identifier': 'job-67890', + 'target_hire_date': '2023-12-01', + 'target_start_date': '2024-01-15' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_posting_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_job_posting_example_call_tool.js new file mode 100644 index 00000000..4002ded9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_posting_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateJobPosting"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"jobId\":\"12345\",\"title\":\"Software Engineer\",\"descriptionParts\":{\"descriptionBody\":\"We are looking for a Software Engineer...\"},\"suppressDescriptionOpening\":true,\"suppressDescriptionClosing\":true}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_job_posting_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_job_posting_example_call_tool.py new file mode 100644 index 00000000..431c63d7 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_job_posting_example_call_tool.py @@ -0,0 +1,33 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateJobPosting" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"jobId":"12345","title":"Software ' + 'Engineer","descriptionParts":{"descriptionBody":"We are looking for a ' + 'Software ' + 'Engineer..."},"suppressDescriptionOpening":true,"suppressDescriptionClosing":true}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_location_address_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_location_address_example_call_tool.js new file mode 100644 index 00000000..ee2b1482 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_location_address_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateLocationAddress"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"locationId\":\"12345\",\"newAddress\":\"123 New St, New City, NC 12345\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_location_address_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_location_address_example_call_tool.py new file mode 100644 index 00000000..5f6c064f --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_location_address_example_call_tool.py @@ -0,0 +1,30 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateLocationAddress" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', + 'request_body': '{"locationId":"12345","newAddress":"123 New St, New City, NC 12345"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_location_name_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_location_name_example_call_tool.js new file mode 100644 index 00000000..365c2cac --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_location_name_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateLocationName"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"locationId\":\"12345\",\"newName\":\"New Location Name\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_location_name_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_location_name_example_call_tool.py new file mode 100644 index 00000000..ccf67464 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_location_name_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateLocationName" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"locationId":"12345","newName":"New Location Name"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_location_remote_status_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_location_remote_status_example_call_tool.js new file mode 100644 index 00000000..230e58a4 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_location_remote_status_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateLocationRemoteStatus"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"locationId\":\"12345\",\"status\":\"active\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_location_remote_status_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_location_remote_status_example_call_tool.py new file mode 100644 index 00000000..c4409e29 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_location_remote_status_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateLocationRemoteStatus" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"locationId":"12345","status":"active"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_offer_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_offer_example_call_tool.js new file mode 100644 index 00000000..44e82cc3 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_offer_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateOffer"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"offerId\":\"12345\",\"newPrice\":199.99,\"isActive\":true}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_offer_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_offer_example_call_tool.py new file mode 100644 index 00000000..b8df2474 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_offer_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateOffer" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"offerId":"12345","newPrice":199.99,"isActive":true}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_webhook_setting_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_webhook_setting_example_call_tool.js new file mode 100644 index 00000000..e1d277d9 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_webhook_setting_example_call_tool.js @@ -0,0 +1,34 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateWebhookSetting"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "webhook_settings_payload": { + "webhookId": "12345", + "enabled": true + } +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_webhook_setting_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_webhook_setting_example_call_tool.py new file mode 100644 index 00000000..66c19819 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_webhook_setting_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateWebhookSetting" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'webhook_settings_payload': {'webhookId': '12345', 'enabled': True +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2)) diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_workplace_type_example_call_tool.js b/public/examples/integrations/mcp-servers/ashby_api/update_workplace_type_example_call_tool.js new file mode 100644 index 00000000..fec8ecb0 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_workplace_type_example_call_tool.js @@ -0,0 +1,32 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "{arcade_user_id}"; +const TOOL_NAME = "AshbyApi.UpdateWorkplaceType"; + +// Start the authorization process +const authResponse = await client.tools.authorize({ + tool_name: TOOL_NAME, + user_id: USER_ID, +}); + +if (authResponse.status !== "completed") { + console.log(`Click this link to authorize: ${authResponse.url}`); +} + +// Wait for the authorization to complete +await client.auth.waitForCompletion(authResponse); + +const toolInput = { + "mode": "execute", + "request_body": "{\"locationId\":\"12345\",\"workplaceType\":\"remote\"}" +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(JSON.stringify(response.output.value, null, 2)); diff --git a/public/examples/integrations/mcp-servers/ashby_api/update_workplace_type_example_call_tool.py b/public/examples/integrations/mcp-servers/ashby_api/update_workplace_type_example_call_tool.py new file mode 100644 index 00000000..7973fa43 --- /dev/null +++ b/public/examples/integrations/mcp-servers/ashby_api/update_workplace_type_example_call_tool.py @@ -0,0 +1,29 @@ +import json +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "{arcade_user_id}" +TOOL_NAME = "AshbyApi.UpdateWorkplaceType" + +auth_response = client.tools.authorize( + tool_name=TOOL_NAME, + user_id=USER_ID, +) + +if auth_response.status != "completed": + print(f"Click this link to authorize: {auth_response.url}") + +# Wait for the authorization to complete +client.auth.wait_for_completion(auth_response) + +tool_input = { + 'mode': 'execute', 'request_body': '{"locationId":"12345","workplaceType":"remote"}' +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(json.dumps(response.output.value, indent=2))