Ir para o conteúdo

Overview

package wittgenstein_crm_client

Wittgenstein CRM Client Library.

Provides a unified interface to interact with HubSpot, Salesforce, Pipedrive, and RD Station.

Classes

  • CRMClient — Abstract Base Class for CRM clients.

  • LeadRecord — Pydantic model representing a unified Lead in the CRM.

  • ContactRecord — Pydantic model representing a contact person in a CRM.

  • DealRecord — Pydantic model representing an opportunity/deal in a CRM.

  • FunnelStage

  • StageTransition — Pydantic model representing a transition from one stage to another.

  • CRMActivity — Pydantic model representing a generic activity (note, call, meeting) in CRM.

  • EngagementEvent — Pydantic model representing tracking engagements (email opens, clicks, web visits).

wittgenstein_crm_client.CRMClient

mkapi_definition_mkapi class CRMClient()

Bases : ABC

Abstract Base Class for CRM clients.

Methods

wittgenstein_crm_client.CRMClient.get_lead

mkapi_definition_mkapi async method CRMClient.get_lead(self, lead_id: str) → LeadRecord

Fetch a single lead record by ID.

wittgenstein_crm_client.CRMClient.list_leads

mkapi_definition_mkapi async method CRMClient.list_leads(self, stage: FunnelStage, **filters) → List[LeadRecord]

List leads in a specific funnel stage.

wittgenstein_crm_client.CRMClient.update_stage

mkapi_definition_mkapi async method CRMClient.update_stage(self, lead_id: str, stage: FunnelStage, reason: str) → None

Update the funnel stage of a lead.

wittgenstein_crm_client.CRMClient.add_activity

mkapi_definition_mkapi async method CRMClient.add_activity(self, lead_id: str, activity: CRMActivity) → None

Add an activity log to a lead.

wittgenstein_crm_client.CRMClient.create_task

mkapi_definition_mkapi async method CRMClient.create_task(self, lead_id: str, assignee: str, briefing: str) → None

Create a follow-up task inside the CRM.

wittgenstein_crm_client.CRMClient.create_contact

mkapi_definition_mkapi async method CRMClient.create_contact(self, contact: ContactRecord) → str

Create a contact record in the CRM, returning the contact ID.

wittgenstein_crm_client.CRMClient.enroll_sequence

mkapi_definition_mkapi async method CRMClient.enroll_sequence(self, contact_id: str, sequence_id: str) → None

Enroll a contact into an outreach sequence.

wittgenstein_crm_client.CRMClient.get_engagements

mkapi_definition_mkapi async method CRMClient.get_engagements(self, company_id: str, since: datetime) → List[EngagementEvent]

Fetch recent engagement events for a company.

wittgenstein_crm_client.LeadRecord

mkapi_definition_mkapi class LeadRecord()

Bases : BaseModel

Pydantic model representing a unified Lead in the CRM.

wittgenstein_crm_client.ContactRecord

mkapi_definition_mkapi class ContactRecord()

Bases : BaseModel

Pydantic model representing a contact person in a CRM.

wittgenstein_crm_client.DealRecord

mkapi_definition_mkapi class DealRecord()

Bases : BaseModel

Pydantic model representing an opportunity/deal in a CRM.

wittgenstein_crm_client.FunnelStage

mkapi_definition_mkapi class FunnelStage()

Bases : str, Enum

wittgenstein_crm_client.StageTransition

mkapi_definition_mkapi class StageTransition()

Bases : BaseModel

Pydantic model representing a transition from one stage to another.

wittgenstein_crm_client.CRMActivity

mkapi_definition_mkapi class CRMActivity()

Bases : BaseModel

Pydantic model representing a generic activity (note, call, meeting) in CRM.

wittgenstein_crm_client.EngagementEvent

mkapi_definition_mkapi class EngagementEvent()

Bases : BaseModel

Pydantic model representing tracking engagements (email opens, clicks, web visits).