Skip to content

Automate mailing-list exports and upload them to DataOps #108

Description

@alexeygrigorev

Context

The current Zapier workflow watches a Google Drive folder and copies Mailchimp backup files to the datatalks-mailchimp-backup S3 bucket. As part of removing Zapier, exports should be requested and stored directly by DataOps instead of passing through Google Drive.

DataOps already models the recurring "Backup MailChimp mailing list to Google Drive" task and supports file evidence/uploads. This feature should make the export itself automatic and attach the resulting artifact to the corresponding task or run.

Proposed behavior

  • Add a provider-neutral email-platform export interface.
  • Implement Mailchimp as the first provider.
  • Allow additional providers to be added without changing scheduling or storage code.
  • Run exports on a configurable schedule and support a manual run.
  • Download the completed provider export and store it in DataOps-managed private storage.
  • Attach the artifact and export metadata to the corresponding recurring task/run.
  • Record provider, account/audience, requested time, completion time, filename, checksum, and status.
  • Make retries idempotent so the same provider export is not stored or attached twice.
  • Surface actionable failures for authorization, provider API, timeout, and storage errors.

Security

  • Store provider credentials in the existing secret-management mechanism, never in task content or logs.
  • Use minimum required OAuth/API scopes.
  • Keep exports private and use the existing controlled download path.

Acceptance criteria

  • A configured Mailchimp audience can be exported without Google Drive or Zapier.
  • Scheduled and manually triggered exports are supported.
  • A successful export is stored and attached to the relevant DataOps task/run.
  • Repeated delivery or retry does not create duplicate artifacts.
  • Export status and failures are visible in DataOps.
  • Connector boundaries and configuration are documented for adding another email provider.
  • Tests cover success, delayed provider completion, duplicate processing, authentication failure, and storage failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions