Momentum Docs
  • Getting Started
    • What is Momentum?
    • Onboarding Guide
    • FAQ
      • Joining a Google Meet meeting
  • Platform
    • Orientation
      • Self-Guided Training
    • Inbox
      • Inbox Queue
      • Week In Review
    • Constituents
      • Constituents Tab
      • Segments
      • Lists
      • Constituent Records
        • Overview
        • Plan
        • History
    • Workspace
      • Templates
      • Automations
      • Prospecting
        • Hidden Gems
    • Contacting Constituents
      • Scheduling Outreach
      • Sending Emails
      • AI Drafts
        • AI Drafting Examples
    • Assistant Mode
    • Momentum Mobile
      • Pocket Portfolio
      • Mobile Contact Report
  • Data
    • Data Models
      • Actions Data Model
      • Gifts Data Model
      • Donor Data Model
    • CRM Sync
      • Salesforce Integration
      • Blackbaud Raiser's Edge NXT Integration
    • Security
      • Artificial Intelligence Privacy
      • HIPAA Compliance
    • Email Integration
      • Email Logging
      • Microsoft 365 or Outlook Integration
      • Gmail Integration
    • DonorSearch Integration
  • Links
    • Momentum App
    • Momentum Homepage
    • Release Notes
Powered by GitBook
On this page
  1. Data
  2. Data Models

Actions Data Model

Utilize the Actions data model to track and log actions taken between fundraisers and donors

Our Actions data model aggregates donor data across all of our integrated CRM partners into a single unified model.

Momentum only extracts action data from customer CRM’s that go to populate this model. No other fields are ingested by Momentum.

If you have any questions or concerns about what data Momentum takes in and how, please contact your customer success manager.

{
  "CrmActionCategory": {
    "CALL": "call",
    "MEETING": "meeting",
    "MESSAGE": "message",
    "LETTER": "letter",
    "EMAIL": "email",
    "PHONE_MESSAGE": "phone_message",
    "TASK": "task",
    "OTHER": "other"
  },

  "CrmActionInitiator": {
    "INBOUND": "inbound",
    "OUTBOUND": "outbound",
    "MUTUAL": "mutual",
    "NOT_APPLICABLE": "not_applicable",
    "UNKNOWN": "unknown"
  },

  "CrmAction": {
    "donor": {
      "type": "ForeignKey",
      "related_model": "CrmDonor",
      "null": true,
      "related_name": "actions",
      "related_query_name": "action"
    },

    "title": {
      "type": "CharField",
      "max_length": 255,
      "blank": true,
      "default": ""
    },

    "description": {
      "type": "TextField",
      "blank": true,
      "default": ""
    },

    "category": {
      "type": "EnumField",
      "enum_options": [
        "CALL",
        "MEETING",
        "MESSAGE",
        "LETTER",
        "EMAIL",
        "PHONE_MESSAGE",
        "TASK",
        "OTHER"
      ],
      "max_length": 127,
      "blank": true,
      "null": true
    },

    "initiator": {
      "type": "EnumField",
      "enum_options": [
        "INBOUND",
        "OUTBOUND",
        "MUTUAL",
        "NOT_APPLICABLE",
        "UNKNOWN"
      ],
      "max_length": 127,
      "blank": true,
      "null": true
    },

    "is_completed": {
      "type": "BooleanField",
      "default": false
    },

    "completed_date": {
      "type": "DateTimeField",
      "null": true,
      "blank": true
    },

    "action_created_at": {
      "type": "DateTimeField",
      "null": true,
      "default": "current timestamp"
    },

    "action_updated_at": {
      "type": "DateTimeField",
      "null": true,
      "default": "current timestamp"
    },

    "should_update_donor_stats": true,

    "get_donor_id_for_stats_update": {
      "type": "Method",
      "description": "Returns the donor ID used for updating statistics"
    },

    "_anonymize": {
      "type": "Method",
      "parameters": [
        {
          "name": "fake",
          "type": "Faker",
          "description": "An instance of Faker"
        }
      ],
      "description": "Anonymizes the description field using the provided Faker instance"
    },

    "__str__": {
      "type": "Method",
      "description": "Returns a string representation of the CrmAction object"
    },

    "Meta": {
      "ordering": ["-action_created_at"],
      "description": "Meta class for CrmAction"
    }
  },

  "CrmActionEmail": {
    "org": {
      "type": "ForeignKey",
      "related_model": "Org",
      "on_delete": "PROTECT"
    },

    "action": {
      "type": "ForeignKey",
      "related_model": "CrmAction",
      "on_delete": "CASCADE",
      "related_name": "email",
      "related_query_name": "email"
    },

    "nylas_id": {
      "type": "CharField",
      "max_length": 255
    },

    "nylas_account_id": {
      "type": "CharField",
      "max_length": 255
    },

    "nylas_thread_id": {
      "type": "CharField",
      "max_length": 255
    },

    "from_email": {
      "type": "EmailField",
      "blank": true,
      "default": ""
    },

    "bcc": {
      "type": "ArrayField",
      "subtype": "EmailField",
      "blank": true,
      "default": []
    },

    "cc": {
      "type": "ArrayField",
      "subtype": "EmailField",
      "blank": true,
      "default": []
    },

    "to": {
      "type": "ArrayField",
      "subtype": "EmailField",
      "blank": true,
      "default": []
    },

    "subject": {
      "type": "CharField",
      "max_length": 255,
      "blank": true
    },

    "snippet": {
      "type": "TextField",
      "blank": true,
      "help_text": "A plaintext crop of the body_html"
    },

    "body_html": {
      "type": "TextField",
      "blank": true
    },

    "received_at": {
      "type": "DateTimeField",
      "default": "current timestamp",
      "help_text": "When was this email detected by our Gmail/Outlook sync, ie when MGO/donor sent it."
    },

    "__str__": {
      "type": "Method",
      "description": "Returns a string representation of the CrmActionEmail object"
    },

    "Meta": {
      "ordering": ["-received_at"]
    }
  }
}
PreviousData ModelsNextGifts Data Model

Last updated 1 year ago