index.ts•2.96 kB
import { createPiece } from "@activepieces/pieces-framework";
import { PieceCategory } from "@activepieces/shared";
import { createCustomApiCallAction } from "@activepieces/pieces-common";
import {
housecallProAuth,
baseUrl,
// Customer actions
createCustomer,
getCustomers,
getCustomer,
updateCustomer,
getCustomerAddresses,
createCustomerAddress,
getCustomerAddress,
// Job actions
createJob,
getJobs,
getJob,
updateJobSchedule,
deleteJobSchedule,
createJobAppointment,
getJobAppointments,
updateJobAppointment,
deleteJobAppointment,
addJobNote,
deleteJobNote,
addJobAttachment,
addJobLineItem,
updateJobLineItem,
deleteJobLineItem,
getJobLineItems,
addJobTag,
removeJobTag,
createJobLink,
getJobInvoices,
getJobInputMaterials,
bulkUpdateJobLineItems,
bulkUpdateJobInputMaterials,
dispatchJobToEmployees,
lockJob,
lockJobs,
// Estimate actions
createEstimate,
getEstimate,
getEstimates,
createEstimateOptionNote,
deleteEstimateOptionNote,
createEstimateOptionAttachment,
createEstimateOptionLink,
updateEstimateOptionSchedule,
// Lead actions
createLead,
getLead,
getLeads,
convertLeadToEstimateOrJob,
} from "./lib/common";
export const housecallPro = createPiece({
displayName: "Housecall Pro",
description: "Manage your home service business with Housecall Pro CRM integration",
auth: housecallProAuth,
minimumSupportedRelease: '0.36.1',
logoUrl: "https://cdn.activepieces.com/pieces/housecall-pro.png",
categories: [PieceCategory.SALES_AND_CRM],
authors: ["Activepieces"],
actions: [
// Customer actions
createCustomer,
getCustomers,
getCustomer,
updateCustomer,
getCustomerAddresses,
createCustomerAddress,
getCustomerAddress,
// Job actions
createJob,
getJobs,
getJob,
updateJobSchedule,
deleteJobSchedule,
createJobAppointment,
getJobAppointments,
updateJobAppointment,
deleteJobAppointment,
addJobNote,
deleteJobNote,
addJobAttachment,
addJobLineItem,
updateJobLineItem,
deleteJobLineItem,
getJobLineItems,
addJobTag,
removeJobTag,
createJobLink,
getJobInvoices,
getJobInputMaterials,
bulkUpdateJobLineItems,
bulkUpdateJobInputMaterials,
dispatchJobToEmployees,
lockJob,
lockJobs,
// Estimate actions
createEstimate,
getEstimate,
getEstimates,
createEstimateOptionNote,
deleteEstimateOptionNote,
createEstimateOptionAttachment,
createEstimateOptionLink,
updateEstimateOptionSchedule,
// Lead actions
createLead,
getLead,
getLeads,
convertLeadToEstimateOrJob,
// Custom API Call
createCustomApiCallAction({
baseUrl: () => baseUrl,
auth: housecallProAuth,
authMapping: async (auth) => ({
"Authorization": `Token ${auth}`,
"Content-Type": "application/json",
}),
}),
],
triggers: [],
});