C# .NET Microsoft Interop Developer and Web Developer

Posted yesterday

Worldwide

Summary

We are looking for an experienced C# Microsoft .NET developer to build a controlled email campaign management system that integrates with Microsoft Outlook / Microsoft 365 accounts and a centralized Microsoft SQL Server / IIS web application. This project has a specific architecture and must be built according to the approved technical plan. The developer must not materially deviate from the approved design, data model, sending workflow, compliance requirements, or sequencing logic without written approval. **Project Overview** We need a web-based campaign management platform with agent software installed on authorized virtual workstations. Each authorized workstation will have Microsoft Office / Outlook installed and a valid Microsoft 365 email account. The workstation agent will interact with Outlook to send approved campaign emails, while the master web application will manage campaigns, lists, assignments, sequencing, suppression rules, reporting, and audit history. This system is intended for compliant business email workflows, including proper contact management, opt-out handling, suppression lists, rate controls, logging, and administrative oversight. **Core Architecture** 1. Master server running Microsoft SQL Server and IIS. 2. Web application for campaign creation, list upload, assignment, tracking, and reporting. 3. Agent software installed on authorized virtual workstations. 4. Each workstation has Microsoft Office / Outlook installed and a valid Microsoft 365 email account. 5. Agent software communicates securely with the master server to retrieve approved send tasks and report results. 6. All sending activity must be logged centrally. 7. The system must respect Microsoft 365 account limits, compliance rules, opt-out rules, suppression lists, and administrator-defined sending limits. **Important Instruction** The developer must follow the approved project plan exactly. No architectural changes, shortcuts, alternative sending methods, changes to the sequence logic, changes to the compliance workflow, or changes to the agent assignment rules may be made without written approval. **Required Features** **1. Campaign Management** The web application must allow an administrator to create and manage email campaigns. Each campaign should include: * Campaign name * Description * Status: Draft, Active, Paused, Completed, Archived * Assigned contact list * Assigned workstation agents * Email sequence steps * Sending rules * Suppression and opt-out rules * Reporting dashboard **2. Contact List Upload** The system must allow administrators to upload contact lists, preferably by CSV or Excel. The list upload process should support fields such as: * Email address * First name * Last name * Company * Title * Phone * Custom fields * Any additional campaign-specific merge fields The system must validate imported records, identify duplicates, reject invalid email addresses, and check all contacts against the suppression / opt-out database before sending. **3. Campaign Assignment to Lists** Each campaign must be assigned to one or more approved contact lists. The system should prevent sending to contacts who have opted out, are suppressed, are duplicated improperly, or otherwise fail validation rules. **4. Email Sequence Builder** Each campaign should consist of a sequence of email steps. The email sequence should support timing such as: * Day 1 * Day 2 * Day 5 * Day 10 * Day 30 Each step should use a Microsoft Outlook email template file, such as an Outlook template or compatible email markup format approved during development. **5. Variable Replacement / Mail Merge Logic** Campaign templates must support variable replacement using values from the contact list. Example: * `CH_Name_First` is replaced with the contact’s first name. * `CH_Name_Last` is replaced with the contact’s last name. * `CH_Company` is replaced with the contact’s company name. The system must support custom fields and must log the final rendered email content or a reliable audit reference before sending. **6. Workstation / Agent Assignment** Administrators must be able to assign workstation agents to campaigns individually or in bulk. Each agent should have: * Agent name * Machine identifier * Assigned Microsoft 365 email account * Status: Online, Offline, Paused, Error * Assigned campaigns * Daily send limit * Last check-in timestamp * Error logs **7. Contact-to-Agent Locking Rule** Once a contact receives an email from a specific workstation / agent, that same workstation / agent must send all future emails to that contact for that campaign. This rule is mandatory. The system must maintain a permanent contact-to-agent assignment table so that follow-up emails in the sequence are sent from the same sending account. **8. Sending Limits and Timing Controls** The system must include administrator-defined sending limits per agent. The sending process must include controlled pacing between sends. The pacing rules should be configurable by the administrator and must comply with Microsoft 365 account limits and all applicable email compliance requirements. The system should support randomized delays within administrator-approved ranges to avoid unnatural batch behavior, but it must not be designed to bypass provider restrictions or compliance requirements. **9. Opt-Out Web Page** The system must include a public opt-out page. The opt-out page should allow a recipient to unsubscribe by email address and must immediately update the central suppression database. Once a contact opts out, the system must prevent any further campaign emails to that contact. The opt-out process should include: * Unique unsubscribe link support * Email address suppression * Timestamp * Campaign reference * Source email reference * Audit log * Confirmation page **10. Reporting and Audit Logs** The system must track: * Emails queued * Emails sent * Emails skipped * Emails failed * Opt-outs * Contacts assigned to agents * Agent activity * Campaign progress * Template used * Sequence step * Send timestamp * Error messages A basic dashboard should show campaign-level and agent-level activity. **11. Security and Access Control** The web application must include user authentication and role-based access control. At minimum, roles should include: * Administrator * Campaign Manager * Viewer Sensitive configuration values must be stored securely. Agent-to-server communication must be authenticated and encrypted. 12. Manual Contact Enrollment Page and Enrollment API The system must include a simple administrative page that allows an authorized user to manually add a new contact and enroll that contact into one or more campaigns. The page should include: Email address First name Last name Company Title Phone Custom fields Campaign selection with checkboxes or multi-select Submit button to enroll the contact When the contact is submitted, the system should: Validate the email address. Check whether the contact already exists. Create the contact if it does not already exist. Update contact fields if the contact already exists, subject to administrator-approved rules. Check the opt-out and suppression database. Prevent enrollment if the contact has opted out or is suppressed. Enroll the contact into the selected campaigns only if the contact has not already been enrolled in those campaigns. Do nothing for campaigns where the contact was previously enrolled, other than optionally returning a status such as “Already Enrolled.” Assign the contact to an eligible agent according to the approved campaign assignment rules. Log the enrollment source, timestamp, user, campaign, and result. The system must also include a secure API endpoint that performs the same enrollment function. The API should allow an authorized external system to submit: Email address First name Last name Company Title Phone Custom fields One campaign ID, multiple campaign IDs, or campaign codes The API response should clearly return the result for each requested campaign, such as: Enrolled Already Enrolled Suppressed Invalid Email Campaign Not Found Agent Not Available Error The API must require authentication, validate all inputs, enforce suppression and opt-out rules, prevent duplicate enrollment, and write complete audit logs for every request. **Preferred Technology Stack** * ASP.NET / C# * Microsoft SQL Server * IIS * Microsoft Office / Outlook integration * Microsoft.Office.Interop.Outlook where appropriate * Windows service or tray application for the workstation agent * Secure API communication between agent and master server The developer may recommend Microsoft Graph API only if it fits the approved architecture and compliance model, but no change in sending architecture may be made without approval. **Deliverables** The selected developer must deliver: 1. Technical design document before coding begins. 2. SQL Server database schema. 3. IIS web application. 4. Workstation agent software. 5. Campaign creation workflow. 6. List upload and validation workflow. 7. Template upload and variable replacement workflow. 8. Sequence scheduling engine. 9. Contact-to-agent locking logic. 10. Opt-out page and suppression database. 11. Admin reporting dashboard. 12. Error logging and audit logging. 13. Installation instructions. 14. Source code. 15. Deployment documentation. 16. Testing documentation. **Developer Requirements** The ideal developer should have experience with: * C# / .NET * ASP.NET web applications * Microsoft SQL Server * IIS deployment * Microsoft Outlook automation * Microsoft 365 email workflows * Windows desktop agents or Windows services * Secure API design * Email compliance workflows * Audit logging * Scalable database design **Application Instructions** Please respond with: 1. A short summary of your relevant experience. 2. Examples of similar systems you have built. 3. Your recommended architecture based on the requirements above. 4. Any concerns you see with Outlook automation, Microsoft 365 limits, compliance, or scaling. 5. Your proposed milestones. 6. Estimated timeline and cost. 7. Confirmation that you will not deviate from the approved plan without written approval. We are looking for a developer who can execute carefully, document their work, and build exactly according to the approved specification.

  • Less than 30 hrs/week
    Hourly
  • 1-3 months
    Duration
  • Intermediate
    Experience Level
  • $40.00

    -

    $60.00

    Hourly
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
.NET Framework
C#
ASP.NET
Activity on this job
  • Proposals:50+
  • Last viewed by client:yesterday
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Aug 2, 2020
  • United States
    Phoenix5:15 AM
  • $498K total spent
    131 hires, 17 active
  • 24,559 hours
  • Tech & IT
    Mid-sized company (10-99 people)

Explore similar jobs on Upwork

Cold Email CampaignFixed-price‐ Posted 4 weeks ago
Lead Generation
Email Campaign Setup
Email Marketing
Lead Nurturing
B2B Marketing
Email and Phone Deliverability SpecialistHourly‐ Posted 2 weeks ago
Email Communication
Email Support
Phone Communication
Email Deliverability

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo