def METHOD_NAME(self, user: FFAdminUser) -> PipedriveLead:
    email_domain = user.email.split("@")[-1]
    try:
        organization = self._get_org_by_domain(email_domain)
    except EntityNotFoundError:
        organization = self.create_organization(email_domain)
    except MultipleMatchingOrganizationsError as e:
        logger.error(
            "Multiple organizations found in Pipedrive for domain %s", email_domain
        )
        raise e
    person = self._get_or_create_person(
        name=user.full_name,
        email=user.email,
        marketing_consent_given=user.marketing_consent_given,
    )
    create_lead_kwargs = {
        "title": user.email,
        "organization_id": organization.id,
        "person_id": person.id,
        "label_ids": self.get_label_ids_for_user(user),
        "custom_fields": {},
    }
    if (
        settings.PIPEDRIVE_API_LEAD_SOURCE_DEAL_FIELD_KEY
        and settings.PIPEDRIVE_API_LEAD_SOURCE_VALUE
    ):
        create_lead_kwargs["custom_fields"][
            settings.PIPEDRIVE_API_LEAD_SOURCE_DEAL_FIELD_KEY
        ] = settings.PIPEDRIVE_API_LEAD_SOURCE_VALUE
    if user.sign_up_type and settings.PIPEDRIVE_SIGN_UP_TYPE_DEAL_FIELD_KEY:
        create_lead_kwargs["custom_fields"][
            settings.PIPEDRIVE_SIGN_UP_TYPE_DEAL_FIELD_KEY
        ] = user.sign_up_type
    return self.client.METHOD_NAME(**create_lead_kwargs)