Daisychain: Data Dictionary

Schema documentation for all tables exported via Data Sync. Auto-generated from the application schema.

ActBlue

actblue_contributions

Donations received through ActBlue integration.

Column Type Nullable Description
id bigint No Primary key
form_id bigint Yes The ActBlue form used for this contribution.
person_id bigint Yes The matched supporter in your account.
integration_id uuid No
order_number character varying No
refcodes jsonb Yes
custom_fields jsonb Yes
credit_card_expiration character varying Yes
recurring_period actblue_recurring_period
enum: once, weekly, monthly
No Donation frequency: once, weekly, or monthly.
recurring_duration integer Yes
ab_test_name character varying Yes
weekly_recurring_sunset date Yes
is_paypal boolean Yes
is_mobile boolean Yes
ab_test_variation character varying Yes
text_message_option actblue_text_message_option No
is_express boolean Yes
with_express_lane boolean Yes
express_signup boolean Yes
status actblue_contribution_status
enum: approved, pending, declined
No Payment status: approved, pending, or declined.
thanks_url character varying Yes
retry_url character varying Yes
cancelled_at timestamp(6) without time zone Yes
recur_completed integer Yes
recur_pledged integer Yes
smart_boost_amount integer Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
broadcast_id bigint Yes
message_content_variant_id bigint Yes

Relationships

  • form_id actblue_forms.id
  • person_id people.id
  • broadcast_id broadcasts.id
  • message_content_variant_id message_content_variants.id

Enum Values

recurring_period : once, weekly, monthly
status : approved, pending, declined

actblue_employers

Employer information for ActBlue contributors (for FEC compliance).

Column Type Nullable Description
id bigint No Primary key
contribution_id bigint No The contribution this employer info belongs to.
employer character varying Yes
occupation character varying Yes Contributor's occupation.
employer_addr_1 character varying Yes
employer_city character varying Yes
employer_state character varying Yes
employer_country character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • contribution_id actblue_contributions.id

actblue_entities

Recipient entities/committees receiving ActBlue donations.

Column Type Nullable Description
id bigint No Primary key
entity_id bigint No
fec_id character varying Yes
committee_name character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

actblue_forms

ActBlue donation form configurations.

Column Type Nullable Description
id bigint No Primary key
integration_id uuid No
name character varying Yes Form name.
kind actblue_form_kind
enum: page, merchandise, event, embed, autogenerated
Yes Form type: page, merchandise, event, embed, or autogenerated.
managing_entity_name character varying Yes
managing_entity_committee_name character varying Yes
owner_email character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Enum Values

kind : page, merchandise, event, embed, autogenerated

actblue_line_items

Individual line items within an ActBlue contribution (e.g., split donations to multiple recipients).

Column Type Nullable Description
id bigint No Primary key
contribution_id bigint No The contribution this line item belongs to.
entity_id bigint No The recipient entity/committee.
lineitem_id bigint No
sequence integer Yes
amount integer No Amount for this line item in cents.
recurring_amount integer Yes
paid_at timestamp(6) without time zone Yes
refunded_at timestamp(6) without time zone Yes
disbursed_at timestamp(6) without time zone Yes
recovered_at timestamp(6) without time zone Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • contribution_id actblue_contributions.id
  • entity_id actblue_entities.id

People

actions

Tracked actions and events associated with people, such as donations, form submissions, and custom events.

Column Type Nullable Description
id bigint No Primary key
account_id bigint Yes
kind character varying Yes The type of action (e.g., donation, signup, custom).
data jsonb Yes Additional action data as JSON.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
person_id bigint Yes The person who performed this action.
actblue_contribution_id bigint Yes Associated ActBlue contribution, if this action was a donation.

Relationships

  • person_id people.id
  • actblue_contribution_id actblue_contributions.id

addresses

Physical/mailing addresses associated with people.

Column Type Nullable Description
id bigint No Primary key
person_id bigint Yes The person this address belongs to.
kind address_kinds No
post_office_box character varying Yes
street_address character varying Yes
extended_address character varying Yes
locality character varying Yes
region character varying Yes
postal_code character varying Yes
country character varying Yes
latitude numeric(13,10) Yes
longitude numeric(13,10) Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
geo_projection geometry(Point,3857) Yes
primary boolean Yes Whether this is the person's primary address.
geocode_precision geocode_precision
enum: rooftop, street, postal_code, locality, region, country, unknown
Yes Precision level of the geocoded coordinates.

Relationships

  • person_id people.id

Enum Values

geocode_precision : rooftop, street, postal_code, locality, region, country, unknown

emails

Email addresses associated with people. Each person can have multiple email addresses.

Column Type Nullable Description
id bigint No Primary key
person_id bigint Yes The person this email belongs to.
value character varying Yes
primary boolean Yes Whether this is the person's primary email address.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • person_id people.id

flows_custom_field_captures

Custom field values captured during flow conversations.

Column Type Nullable Description
id bigint No Primary key
person_id bigint No The person whose custom field was captured.
field_identifier character varying No
value character varying Yes The captured value.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
field_configuration_id bigint Yes

Relationships

  • person_id people.id

notes

User-created notes attached to people.

Column Type Nullable Description
id bigint No Primary key
person_id bigint Yes The person this note is about.
card_id bigint Yes
user_id bigint Yes The team member who created the note.
content character varying Yes The note text content.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • person_id people.id

people

Core supporter/contact records belonging to your account.

Column Type Nullable Description
id bigint No Primary key
account_id bigint No
first_name character varying Yes
last_name character varying Yes
properties jsonb Yes Custom field values as JSON. Keys match fields configured in Settings > People > Fields.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
assigned_id bigint Yes The team member (user) assigned to this person.
last_conversation_id bigint Yes The most recent conversation with this person.

Relationships

  • last_conversation_id conversations.id

person_taggings

Join records linking tags to people. Each record represents one tag applied to one person.

Column Type Nullable Description
id bigint No Primary key
tag_id bigint Yes The tag that was applied.
person_id bigint Yes The person the tag was applied to.
created_by_user_id bigint Yes The team member who applied the tag, if done manually.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • tag_id tags.id
  • person_id people.id

phones

Phone numbers associated with people. Each person can have multiple phone numbers.

Column Type Nullable Description
id bigint No Primary key
person_id bigint No The person this phone number belongs to.
value character varying Yes
primary boolean Yes Whether this is the person's primary phone number.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
phone_data_id bigint Yes
sms_opt_out_id bigint Yes

Relationships

  • person_id people.id
  • sms_opt_out_id sms_opt_outs.id

sms_opt_outs

Account-level SMS opt-out records. When a phone number opts out, it applies across the account.

Column Type Nullable Description
id bigint No Primary key
account_id bigint Yes
phone_number character varying Yes The phone number that opted out.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
source_type sms_opt_out_source_type Yes Type of record that triggered the opt-out.
source_id bigint Yes ID of the record that triggered the opt-out.
reason subscription_opt_out_reason Yes Reason for the opt-out (e.g., keyword reply, manual, carrier).
message_id bigint Yes The message that triggered the opt-out, if applicable.

Relationships

  • message_id messages.id

subscriptions

Communication channel opt-in/opt-out status for each person (email, SMS, voice, postal).

Column Type Nullable Description
id bigint No Primary key
person_id bigint Yes The person this subscription belongs to.
subscribed_at timestamp(6) without time zone Yes
opt_out_at timestamp(6) without time zone Yes
source_type character varying Yes
source_id bigint Yes
source_kind subscription_source_kind Yes
opt_out_reason subscription_opt_out_reason Yes Reason for opt-out, if applicable.
channel subscription_channels
enum: email, sms, number, postal
No Communication channel: email, sms, voice, or postal.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
opt_out_source_type character varying Yes
opt_out_source_id bigint Yes
phone_id bigint Yes
email_id bigint Yes

Relationships

  • person_id people.id
  • phone_id phones.id
  • email_id emails.id

Enum Values

channel : email, sms, number, postal

tags

Tags/labels that can be applied to people for segmentation and organization.

Column Type Nullable Description
id bigint No Primary key
account_id bigint Yes
name character varying Yes The display name of the tag.
slug character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
kind tag_kind No The type of record this tag applies to.

Automations

automation_executions

Individual runs of an automation for a specific action/event. Tracks execution status and progress.

Column Type Nullable Description
id bigint No Primary key
action_id bigint Yes The ID of the triggering action.
current_step_id bigint Yes The step currently being executed.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
sidekiq_job_id character varying Yes
status execution_status No Execution status (running, completed, etc.).
action_type automation_execution_action_type No The type of triggering action.
automation_version_id bigint Yes The automation version being executed.
skipped_reason_execution_id bigint Yes
person_id bigint Yes

Relationships

  • automation_version_id automation_versions.id
  • person_id people.id
  • current_step_id automation_steps.id
  • skipped_reason_execution_id automation_executions.id

automation_steps

Individual steps within an automation version, executed in order.

Column Type Nullable Description
id bigint No Primary key
step_action_type character varying Yes The type of action this step performs.
step_action_id bigint Yes The ID of the action configuration.
position bigint Yes Order position within the automation.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
automation_version_id bigint Yes The automation version this step belongs to.

Relationships

  • automation_version_id automation_versions.id

automation_versions

Versioned snapshots of automation configurations. Only published versions are active.

Column Type Nullable Description
id bigint No Primary key
integration_automatable_type character varying Yes
integration_automatable_id uuid Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
version integer No Sequential version number.
status publication_status No Whether this version is draft or published.
published_at timestamp(6) without time zone Yes
automation_id bigint Yes The automation this version belongs to.

Relationships

  • automation_id automations.id

automations

Automated workflows triggered by events. Each automation has versions with defined trigger conditions and steps.

Column Type Nullable Description
id bigint No Primary key
account_id bigint No
name character varying No Display name of the automation.
managed_by_flow boolean No Whether this automation is managed by a flow node rather than standalone.
current_version_id bigint Yes The currently active automation version.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • current_version_id automation_versions.id

Messaging

broadcasts

Mass message sends to targeted audiences. Tracks delivery status, scheduling, and A/B test configuration.

Column Type Nullable Description
id bigint No Primary key
account_id bigint Yes
user_id bigint Yes The team member who created the broadcast.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
delivered_at timestamp(6) without time zone Yes
delivery_status broadcast_delivery_status Yes Current delivery state of the broadcast.
audience jsonb Yes
name character varying Yes
audience_size integer Yes
delivery_scheduled_at timestamp(6) without time zone Yes
goal character varying Yes
campaign_goal_configuration_type character varying Yes
campaign_goal_configuration_id bigint Yes
batch_count integer Yes
expire_reply_batches boolean No
conversation_flow_kind character varying Yes
delivery_validation_errors jsonb Yes
subscriptions_opt_outs_count integer No
audience_duplicates_size integer Yes
percentage_of_audience_for_testing numeric(5,4) Yes
flow_id bigint Yes The flow used for this broadcast, if applicable.
remaining_audience_size integer Yes
reply_mode character varying No
delivery_phone_number_id bigint Yes
tsvector tsvector Yes

Relationships

  • flow_id flows.id

campaigns_actblue_contribution_goals

ActBlue contribution goals linked to broadcasts. Configures donation tracking for campaign messages.

Column Type Nullable Description
id bigint No Primary key
refcode character varying Yes Custom refcode appended to the ActBlue URL for tracking.
page_url character varying Yes The ActBlue donation page URL.
amount integer Yes Suggested donation amount in cents, if configured.
recurring character varying Yes Recurring donation frequency, if configured.
express_lane boolean Yes Whether ActBlue Express Lane is enabled for one-click donations.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

campaigns_mobilize_attendance_goals

Mobilize America attendance goals linked to broadcasts. Configures event signup tracking for campaign messages.

Column Type Nullable Description
id bigint No Primary key
mobilize_lookup_config_id bigint Yes The lookup configuration for lookup-type goals.
mobilize_america_event_id bigint Yes The Mobilize America event for event-type goals.
kind character varying Yes Goal type: event, lookup, or timeslot_conversation.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
mobilize_america_event_timeslot_id bigint Yes The specific event timeslot for timeslot_conversation-type goals.

Relationships

  • mobilize_america_event_id mobilize_america_events.id
  • mobilize_america_event_timeslot_id mobilize_america_event_timeslots.id

conversations

Individual messaging threads between the account and a person.

Column Type Nullable Description
id bigint No Primary key
account_id bigint Yes
card_id bigint Yes
person_id bigint Yes The person in this conversation.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
broadcast_id bigint Yes The broadcast that initiated this conversation, if applicable.
read boolean Yes
automation_execution_id bigint Yes
sms_opt_outs_count integer No
archived_at timestamp(6) without time zone Yes When the conversation was archived, if applicable.
archived_by_id bigint Yes
subscriptions_opt_outs_count integer No
last_incoming_message_at timestamp(6) without time zone Yes
message_content_variant_id bigint Yes
automation_send_message_id bigint Yes
sms_keyword_id bigint Yes The SMS keyword that initiated this conversation, if applicable.

Relationships

  • person_id people.id
  • broadcast_id broadcasts.id
  • message_content_variant_id message_content_variants.id
  • automation_execution_id automation_executions.id
  • sms_keyword_id sms_keywords.id

message_content_variants

A/B test content variants for broadcasts. Each variant has its own message body and can track separate delivery statistics.

Column Type Nullable Description
id bigint No Primary key
broadcast_id bigint No The broadcast this variant belongs to.
name character varying Yes Display name of the variant.
body character varying Yes The message text content for this variant.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
winner_at timestamp(6) without time zone Yes When this variant was marked as the A/B test winner, if applicable.
sample_message_id bigint Yes A representative message sent with this variant content.
letter character varying Yes Single-letter identifier (A-Z) for the variant within its broadcast.
initial_audience_size integer No Number of recipients initially assigned to this variant.
subscriptions_opt_outs_count integer No Number of subscription opt-outs attributed to this variant.

Relationships

  • broadcast_id broadcasts.id
  • sample_message_id messages.id

messages

Individual SMS/MMS messages within conversations. Tracks direction, delivery status, and billing.

Column Type Nullable Description
id bigint No Primary key
conversation_id bigint Yes The conversation this message belongs to.
subaccount_id bigint Yes
previous_message_id bigint Yes
user_id bigint Yes The team member who sent the message, for manual replies.
direction message_direction
enum: outgoing, incoming
No Whether the message was incoming or outgoing.
status message_status
enum: pending, accepted, scheduled, queued, sending, sent, receiving, received, delivered, undelivered, failed, canceled, paused, resumed
Yes Delivery status (pending, sent, delivered, failed, etc.).
error_code integer Yes Carrier error code if delivery failed.
external_id character varying Yes Message ID from the SMS provider.
from character varying Yes
to character varying Yes
body character varying Yes The message text content.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
subaccount_type subaccount_type Yes
segment_count integer Yes Number of SMS segments this message was split into.
billing_kind billing_kind
enum: sms, mms, charm
No Billing category (sms, mms, etc.).
intent character varying Yes
classified_intent character varying Yes
segment_count_recalculated integer Yes
opt_out boolean No
accepted_at timestamp(6) without time zone Yes
embedding vector(384) Yes
potential_opt_out boolean Yes
flow_node_id bigint Yes The flow node that generated this message, if applicable.
needs_reply boolean No

Relationships

  • conversation_id conversations.id
  • previous_message_id messages.id
  • flow_node_id flow_nodes.id

Enum Values

direction : outgoing, incoming
status : pending, accepted, scheduled, queued, sending, sent, receiving, received, delivered, undelivered, failed, canceled, paused, resumed
billing_kind : sms, mms, charm

sms_keyword_terms

Individual terms/words that trigger an SMS keyword.

Column Type Nullable Description
id bigint No Primary key
sms_keyword_id bigint No The SMS keyword this term belongs to.
term character varying No The word or phrase that triggers the keyword.
account_id bigint Yes
delivery_phone_number_id bigint Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • sms_keyword_id sms_keywords.id

sms_keywords

SMS keywords that trigger automated responses or flows when texted to your number.

Column Type Nullable Description
id bigint No Primary key
account_id bigint Yes
delivery_phone_number_id bigint Yes
response_message text Yes The auto-reply message sent when this keyword is received.
triggers_opt_in boolean No
starts_new_conversation boolean No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
flow_id bigint Yes The flow triggered by this keyword, if applicable.

Relationships

  • flow_id flows.id

Flows

flow_message_followups

Follow-up actions triggered after a message is sent within a flow.

Column Type Nullable Description
id bigint No Primary key
followup_target_type flow_message_followup_target_type No Type of message being followed up (Message or SimulatedMessage).
followup_target_id bigint No ID of the message being followed up.
status followup_status
enum: enqueued, pending, processing, cancelled, completed, exhausted, failed
No
followup_attempts integer No
last_processed_at timestamp(6) without time zone Yes
next_follow_up_at timestamp(6) without time zone Yes
resolved_at timestamp(6) without time zone Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Enum Values

status : enqueued, pending, processing, cancelled, completed, exhausted, failed

flow_node_automation_configurations

Configuration for automation type flow nodes.

Column Type Nullable Description
id bigint No Primary key
automation_id bigint No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • automation_id automation_versions.id

flow_node_automations

Links between flow nodes and automation versions that execute when the node is reached.

Column Type Nullable Description
id bigint No Primary key
flow_node_id bigint No The flow node that triggers this automation.
flow_version_id bigint No The flow version this link belongs to.
automation_version_id bigint No The automation version to execute.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • flow_node_id flow_nodes.id
  • automation_version_id automation_versions.id
  • flow_version_id flow_versions.id

flow_node_intelligence_configurations

Configuration for AI intelligence type flow nodes.

Column Type Nullable Description
id bigint No Primary key
should_send_reply boolean No
ai_model character varying No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
inactivity_followup_enabled boolean No
followup_delay_minutes integer Yes
max_followups integer Yes
reasoning_setting reasoning_setting No
legislative_lookup_config_id bigint Yes
instructions_content jsonb Yes
inactivity_followup_instructions jsonb Yes

flow_node_intelligence_custom_field_configurations

Custom field extraction settings for AI intelligence nodes.

Column Type Nullable Description
id bigint No Primary key
intelligence_configuration_id bigint No The intelligence node configuration this belongs to.
field_configuration_id bigint No
overwrite_mode custom_field_overwrite_mode No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • intelligence_configuration_id flow_node_intelligence_configurations.id

flow_node_send_message_configurations

Configuration for send-message type flow nodes.

Column Type Nullable Description
id bigint No Primary key
body text No The message template text.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

flow_nodes

Individual nodes within a flow version. Each node represents a step in the conversation (send-message, intelligence, or automation).

Column Type Nullable Description
id bigint No Primary key
name character varying Yes
node_type character varying No
is_starting_node boolean No
flow_version_id bigint No The flow version this node belongs to.
node_configuration_type character varying Yes The type of node (SendMessage, Intelligence, or Automation).
node_configuration_id bigint Yes The ID of the node's configuration record.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
position_x integer No
position_y integer No
previous_version_node_id bigint Yes
status flow_node_status
enum: pending, active
No Whether the node is pending or active.

Relationships

  • flow_version_id flow_versions.id
  • previous_version_node_id flow_nodes.id

Enum Values

status : pending, active

flow_states

Tracks a conversation's current position within a flow.

Column Type Nullable Description
id bigint No Primary key
flow_version_id bigint No The flow version being traversed.
conversation_id bigint No The ID of the conversation traversing the flow.
current_node_id bigint No The flow node the conversation is currently at.
state_data jsonb No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
conversation_type flow_state_conversation_type No The type of conversation (Conversation or SimulatedConversation).
status flow_state_status
enum: active, completed
No Whether the flow state is active or completed.

Relationships

  • flow_version_id flow_versions.id
  • current_node_id flow_nodes.id

Enum Values

status : active, completed

flow_transitions

Connections between flow nodes defining the conversation path.

Column Type Nullable Description
id bigint No Primary key
name character varying No
ai_prompt text Yes
order integer No
from_node_id bigint No The node this transition starts from.
to_node_id bigint Yes The node this transition leads to.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • from_node_id flow_nodes.id
  • to_node_id flow_nodes.id

flow_url_guardrail_configurations

URL guardrail settings that constrain AI intelligence node responses to approved URLs.

Column Type Nullable Description
id bigint No Primary key
intelligence_configuration_id bigint No The intelligence node configuration this guardrail belongs to.
enabled boolean No
allowed_url_patterns character varying No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • intelligence_configuration_id flow_node_intelligence_configurations.id

flow_versions

Versioned snapshots of flow configurations. Only published versions are active.

Column Type Nullable Description
id bigint No Primary key
flow_id bigint No The flow this version belongs to.
version integer No Sequential version number.
status publication_status No Whether this version is draft or published.
published_at timestamp(6) without time zone Yes
published_version integer Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
start_position_x integer Yes
start_position_y integer Yes
end_position_x integer Yes
end_position_y integer Yes

Relationships

  • flow_id flows.id

flows

Conversational flows that guide interactive SMS/messaging experiences.

Column Type Nullable Description
id bigint No Primary key
name character varying No Display name of the flow.
account_id bigint No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
flow_states_count integer No

flows_customizable_contents

Customizable content blocks within flows for personalized messaging.

Column Type Nullable Description
id bigint No Primary key
account_id bigint No
flow_id bigint Yes
kind character varying No
content text No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • flow_id flows.id

flows_scheduled_conversation_resumptions

Scheduled future resumptions of paused flow conversations.

Column Type Nullable Description
id bigint No Primary key
node_id bigint No The flow node where the conversation will resume.
conversation_id bigint No
resume_at timestamp(6) without time zone No
sidekiq_jid character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
conversation_type scheduled_resumption_conversation_type No
incoming_message_id bigint Yes
canceled_at timestamp(6) without time zone Yes
incoming_message_type message_action_message_type Yes
executed_at timestamp(6) without time zone Yes

Relationships

  • node_id flow_nodes.id

flows_simulated_conversations

Test/preview conversations for flow development and QA.

Column Type Nullable Description
id bigint No Primary key
flow_id bigint No The flow being simulated.
person_id bigint No
account_id bigint No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • flow_id flows.id
  • person_id people.id

flows_simulated_messages

Messages within simulated flow conversations.

Column Type Nullable Description
id bigint No Primary key
simulated_conversation_id bigint No The simulated conversation this message belongs to.
previous_message_id bigint Yes
body text Yes The message text content.
direction message_direction
enum: outgoing, incoming
No Whether the message was incoming or outgoing.
from character varying Yes
to character varying Yes
status character varying Yes
error_code integer Yes
flow_node_id bigint Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
needs_reply boolean No

Relationships

  • simulated_conversation_id flows_simulated_conversations.id
  • previous_message_id flows_simulated_messages.id
  • flow_node_id flow_nodes.id

Enum Values

direction : outgoing, incoming

Fundraise Up

fundraise_up_campaigns

Fundraise Up campaign configurations.

Column Type Nullable Description
id bigint No Primary key
integration_id uuid No
external_id character varying No Fundraise Up's ID for this campaign.
code character varying Yes
name character varying Yes Campaign name.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

fundraise_up_donations

Donations received through Fundraise Up integration.

Column Type Nullable Description
id bigint No Primary key
integration_id uuid No
person_id bigint No The matched supporter in your account.
campaign_id bigint No The Fundraise Up campaign.
fundraiser_id bigint Yes
recurring_plan_id bigint Yes The recurring plan, for recurring donations.
amount integer No Donation amount.
currency character varying No
amount_in_default_currency integer Yes
recurring_plan_installment integer Yes
status fundraise_up_donation_status
enum: succeeded, failed, refunded, pending, retrying, scheduled
No Payment status (succeeded, failed, refunded, pending, etc.).
source character varying Yes
url character varying Yes
utm_source character varying Yes
utm_medium character varying Yes
utm_campaign character varying Yes
utm_term character varying Yes
utm_content character varying Yes
external_id character varying No
external_receipt_id character varying Yes
external_created_at timestamp(6) without time zone Yes
external_refunded_at timestamp(6) without time zone Yes
external_failed_at timestamp(6) without time zone Yes
external_succeeded_at timestamp(6) without time zone Yes
test_mode boolean Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • person_id people.id
  • campaign_id fundraise_up_campaigns.id
  • fundraiser_id fundraise_up_fundraisers.id
  • recurring_plan_id fundraise_up_recurring_plans.id

Enum Values

status : succeeded, failed, refunded, pending, retrying, scheduled

fundraise_up_fundraisers

Individual fundraiser pages within Fundraise Up campaigns.

Column Type Nullable Description
id bigint No Primary key
integration_id uuid No
campaign_id bigint No The campaign this fundraiser belongs to.
external_id character varying No Fundraise Up's ID for this fundraiser.
name character varying Yes Fundraiser page name.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • campaign_id fundraise_up_campaigns.id

fundraise_up_recurring_plans

Recurring donation plans set up through Fundraise Up.

Column Type Nullable Description
id bigint No Primary key
integration_id uuid No
person_id bigint No The supporter with this recurring plan.
campaign_id bigint No The associated campaign.
fundraiser_id bigint Yes
amount integer No Recurring donation amount.
currency character varying No
amount_in_default_currency integer Yes
status fundraise_up_recurring_plan_status
enum: active, scheduled, paused, retrying, completed, failed, canceled
No Plan status (active, cancelled, etc.).
frequency fundraise_up_recurring_plan_frequency
enum: daily, weekly, biweekly, every4weeks, monthly, bimonthly, quarterly, semiannual, annual
No How often the donation recurs.
source character varying Yes
url character varying Yes
utm_source character varying Yes
utm_medium character varying Yes
utm_campaign character varying Yes
utm_term character varying Yes
utm_content character varying Yes
external_id character varying No
external_created_at timestamp(6) without time zone Yes
external_next_installment_at timestamp(6) without time zone Yes
external_ended_at timestamp(6) without time zone Yes
test_mode boolean Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • person_id people.id
  • campaign_id fundraise_up_campaigns.id
  • fundraiser_id fundraise_up_fundraisers.id

Enum Values

status : active, scheduled, paused, retrying, completed, failed, canceled
frequency : daily, weekly, biweekly, every4weeks, monthly, bimonthly, quarterly, semiannual, annual

Legislative

legislative_area_collections

Collections of geographic areas used to group legislative districts.

Column Type Nullable Description
id bigint No Primary key
name character varying No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

legislative_areas

Geographic areas representing legislative districts and regions.

Column Type Nullable Description
id bigint No Primary key
area_collection_id bigint No
name character varying No
abbreviation character varying No
fips_code character varying Yes
region_fips_code character varying Yes
region character varying Yes
country character varying(2) Yes
ocd_division_id character varying Yes
kind area_kind
enum: shape, region
No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • area_collection_id legislative_area_collections.id

Enum Values

kind : shape, region

legislative_factions

Political parties and factions that legislators belong to.

Column Type Nullable Description
id bigint No Primary key
name character varying No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

legislative_legislatures

Legislative bodies such as Congress, state legislatures, and city councils.

Column Type Nullable Description
id bigint No Primary key
name character varying No
country character varying(2) No
slug character varying No
area_collection_id bigint No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
minimum_lookup_precision legislative_lookup_precision
enum: region, postcode, coordinates
No

Relationships

  • area_collection_id legislative_area_collections.id

Enum Values

minimum_lookup_precision : region, postcode, coordinates

legislative_memberships

Links between people, positions, and legislative periods representing who holds which office.

Column Type Nullable Description
id bigint No Primary key
person_id bigint No
legislative_period_id bigint No
faction_id bigint No
area_id bigint No
start_date date No
end_date date No
us_senate_class senate_class
enum: 1, 2, 3
Yes
us_senate_state_rank senate_state_rank
enum: junior, senior
Yes
url character varying Yes
address text Yes
phone character varying Yes
fax character varying Yes
rss_url character varying Yes
contact_form_url character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
position_id bigint Yes

Relationships

  • legislative_period_id legislative_periods.id
  • person_id legislative_people.id
  • area_id legislative_areas.id
  • faction_id legislative_factions.id
  • position_id legislative_positions.id

Enum Values

us_senate_class : 1, 2, 3
us_senate_state_rank : junior, senior

legislative_offices

Physical office locations for legislative representatives.

Column Type Nullable Description
id bigint No Primary key
membership_id bigint No
source_id character varying No
phone character varying Yes
fax character varying Yes
description character varying Yes
hours character varying Yes
address text Yes
suite character varying Yes
building character varying Yes
region character varying Yes
locality character varying Yes
country character varying(2) Yes
postal_code character varying Yes
latitude numeric(13,10) Yes
longitude numeric(13,10) Yes
time_zone character varying Yes
visitable boolean No
deleted_at timestamp(6) without time zone Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • membership_id legislative_memberships.id

legislative_people

Elected officials and legislative representatives.

Column Type Nullable Description
id bigint No Primary key
official_full_name character varying Yes
first_name character varying No
middle_name character varying Yes
last_name character varying No
birth_date date Yes
bioguide_id character varying Yes
lis_id character varying Yes
govtrack_id character varying Yes
opensecrets_id character varying Yes
votesmart_id character varying Yes
wikidata_id character varying Yes
google_entity_id character varying Yes
facebook character varying Yes
twitter character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

legislative_periods

Time periods for legislative sessions (e.g. congressional terms).

Column Type Nullable Description
id bigint No Primary key
legislature_id bigint No
name character varying No
start_date date No
end_date date No
slug character varying No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • legislature_id legislative_legislatures.id

legislative_positions

Legislative positions such as Senator or Representative for a specific district.

Column Type Nullable Description
id bigint No Primary key
area_id bigint No
legislature_id bigint No
name character varying No
seat_class character varying Yes
external_id character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
sort_order integer Yes

Relationships

  • area_id legislative_areas.id
  • legislature_id legislative_legislatures.id

legislative_postcode_area_mappings

Mappings between postcodes and legislative areas for representative lookup.

Column Type Nullable Description
id bigint No Primary key
postcode_id bigint No
area_id bigint No
legislative_period_id bigint No
overlap_area bigint Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
kind postcode_area_mapping_kind
enum: exact, proportional
No

Relationships

  • postcode_id postcodes.id
  • area_id legislative_areas.id
  • legislative_period_id legislative_periods.id

Enum Values

kind : exact, proportional

postcodes

Postal codes with geographic coordinates for address resolution.

Column Type Nullable Description
id bigint No Primary key
country character varying(2) No
region character varying Yes
code character varying No
latitude numeric(13,10) Yes
longitude numeric(13,10) Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Mobilize America

mobilize_america_attendees

Attendee RSVPs for Mobilize America events.

Column Type Nullable Description
id bigint No Primary key
mobilize_america_event_id bigint Yes The event this RSVP is for.
mobilize_america_integration_id uuid Yes
mobilize_america_event_timeslot_id bigint Yes
external_id character varying Yes
status mobilize_america_attendees_statuses
enum: registered, cancelled, confirmed, waitlisted
Yes RSVP status: registered, cancelled, confirmed, or waitlisted.
attended boolean Yes
referrer_params jsonb Yes
custom_signup_field_values jsonb Yes
created_date_in_mobilize timestamp(6) without time zone Yes
modified_date_in_mobilize timestamp(6) without time zone Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • mobilize_america_event_id mobilize_america_events.id
  • mobilize_america_event_timeslot_id mobilize_america_event_timeslots.id

Enum Values

status : registered, cancelled, confirmed, waitlisted

mobilize_america_event_timeslots

Time slots for Mobilize America events.

Column Type Nullable Description
id bigint No Primary key
mobilize_america_event_id bigint Yes The event this timeslot belongs to.
external_id character varying No Mobilize America's ID for this timeslot.
start_at timestamp(6) without time zone Yes
end_at timestamp(6) without time zone Yes
max_attendees integer Yes
is_full boolean Yes
instructions character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • mobilize_america_event_id mobilize_america_events.id

mobilize_america_events

Events synced from Mobilize America.

Column Type Nullable Description
id bigint No Primary key
mobilize_america_integration_id uuid Yes
external_id character varying No Mobilize America's ID for this event.
title character varying Yes Event title.
description character varying Yes
timezone character varying Yes
event_type character varying Yes Type of event (canvass, phone_bank, rally, etc.).
url character varying Yes
is_virtual boolean Yes
latitude numeric(13,10) Yes
longitude numeric(13,10) Yes
country character varying Yes
region character varying Yes
locality character varying Yes
postal_code character varying Yes
street_address character varying Yes
venue character varying Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
featured_image_url character varying Yes
high_priority boolean Yes
visibility character varying Yes
address_visibility character varying Yes
created_by_volunteer_host boolean Yes
virtual_action_url character varying Yes
contact jsonb Yes
accessibility_status character varying Yes
accessibility_notes character varying Yes
tags jsonb Yes
approval_status character varying Yes
event_campaign_id character varying Yes
instructions character varying Yes
created_date_in_mobilize timestamp without time zone Yes
modified_date_in_mobilize timestamp without time zone Yes
tsvector tsvector Yes

Questions

questions_answers

Predefined answer options for multiple choice and dropdown questions.

Column Type Nullable Description
id bigint No Primary key
question_id bigint No The question this answer option belongs to.
value character varying No
position integer Yes Display order position.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • question_id questions_questions.id

questions_folders

Folder hierarchy for organizing questions.

Column Type Nullable Description
id bigint No Primary key
account_id bigint No
parent_folder_id bigint Yes The parent folder for nested organization.
name character varying No Folder display name.
identifier character varying No
position integer Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

Relationships

  • parent_folder_id questions_folders.id

questions_groups

Groups for organizing related questions together.

Column Type Nullable Description
id bigint No Primary key
account_id bigint No
name character varying No Group display name.
identifier character varying No
description text Yes
position integer Yes
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp

questions_person_responses

Individual responses from people to survey questions.

Column Type Nullable Description
id bigint No Primary key
person_id bigint No The person who responded.
question_id bigint No The question being answered.
answer_id bigint Yes The selected answer option, for multiple choice/dropdown.
value text Yes Free-text response value, for text/number/date questions.
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
created_by_account_membership_id bigint Yes
resolved boolean No
survey_response_id bigint Yes

Relationships

  • person_id people.id
  • question_id questions_questions.id
  • answer_id questions_answers.id

questions_questions

Survey/question definitions for collecting structured data from people.

Column Type Nullable Description
id bigint No Primary key
account_id bigint No
folder_id bigint Yes The folder this question is organized in.
group_id bigint Yes The question group this belongs to.
name character varying No
identifier character varying No
description text Yes
kind question_kind
enum: multiple_choice, dropdown, boolean, long_text, short_text, number, date
No Question type: multiple_choice, dropdown, boolean, long_text, short_text, number, or date.
position integer Yes
required boolean No
created_at timestamp(6) without time zone No Record creation timestamp
updated_at timestamp(6) without time zone No Record last update timestamp
question_text text Yes

Relationships

  • folder_id questions_folders.id
  • group_id questions_groups.id

Enum Values

kind : multiple_choice, dropdown, boolean, long_text, short_text, number, date