X Enterprises
fastify-xhubspot

deals.create

Create a new HubSpot deal from a properties object.

deals.create

Create a new deal in HubSpot CRM.

Signature

fastify.deals.create(
  dealData: Record<string, string>
): Promise<{ id: string; properties: Record<string, string> }>

Params

NameTypeRequiredDescription
dealDataobjectYesProperty map. Common properties: dealname, amount, dealstage, closedate, pipeline.

Returns

{ id, properties } for the created deal.

Throws

  • [xHubspot] deals.create requires a dealData object
  • Re-throws HubSpot API errors.

Examples

Basic

const deal = await fastify.deals.create({
  dealname: "Acme Corp — Enterprise Plan",
  amount: "12000",
  dealstage: "presentationscheduled",
  closedate: "2025-06-30",
  pipeline: "default",
});

On upgrade request

fastify.post("/upgrades", async (request, reply) => {
  const { contactId, companyId, plan, amount } = request.body;

  const deal = await fastify.deals.create({
    dealname: `Upgrade — ${plan}`,
    amount: String(amount),
    dealstage: "qualifiedtobuy",
  });

  await fastify.contacts.associate(contactId, deal.id, "deals");

  return reply.code(201).send({ dealId: deal.id });
});

See also

AI Context

package: "@xenterprises/fastify-xhubspot"
method: fastify.deals.create(dealData)
use-when: Create a new HubSpot deal (dealname, amount, dealstage, closedate, pipeline)
returns: { id, properties }
Copyright © 2026