Migrate your Act! data
One of the original CRM systems — a contact-management platform with 35+ years of small-business roots, available as both Act! Premium Cloud (hosted SaaS) and Act! Premium Desktop (on-premise SQL Server). Trusted by financial advisors, accountants, real-estate firms, and other relationship-driven SMB practices.
In its favor
Why people choose Act!
The signal that keeps Act! on the shortlist. Sourced from G2, Capterra, and customer scoping calls.
Long product history (1986–present) means Act! has decades-deep contact management features — relationship intelligence, custom contact layouts, secondary contact records — that newer CRMs treat as add-ons or skip entirely.
Available as Act! Premium Desktop (on-premise SQL Server) for teams that refuse to put customer data in someone else's cloud — a deployment model most modern CRMs do not offer at all.
Per-user pricing (~$30/user/month Cloud, one-time ~$370/user perpetual Desktop) competes favorably with HubSpot/Salesforce for SMBs that don't need an integration ecosystem or AI features.
Strong fit for solo practitioners and small firms in financial services, real estate, and accounting where the workflow is essentially 'every client is a contact you nurture for years' — Act!'s contact-first model maps that workflow directly.
Built-in Act! Marketing Automation (separate add-on starting around $79/month) covers email campaigns, drip sequences, and basic lead scoring without integrating a third-party marketing tool.
Dated UI and on-premise legacy feel — long-time Act! Desktop users describe the experience as 'Office 2007-era' compared to modern cloud CRMs, and the upgrade path between major versions historically requires reinstalling and re-syncing data.
Limited modern integration ecosystem — Act!'s Zapier and native integration count is in the low double digits, where HubSpot, Salesforce, and Pipedrive all measure integrations in the thousands.
Act! Premium Desktop's reliance on SQL Server, IIS, and Windows Server makes IT maintenance an ongoing cost — patching, backups, and disaster recovery fall on the customer's IT team rather than the vendor.
Team collaboration features lag modern CRMs — Act!'s historical strength is the individual contact owner, and shared pipelines, real-time activity feeds, and built-in chat are weaker than HubSpot, Pipedrive, or monday.
Reporting is functional but inflexible — most users export to Excel rather than build inside Act!, where modern CRMs ship dashboards, pivot charts, and embedded BI as core features.
Reasons to switch
Why people leave Act!
The recurring reasons buyers give for replacing Act!. Presented as facts, not knocks.
Platform scorecard
Strengths, weaknesses, and where Act! fits
Grades across six dimensions, plus a SWOT-style view of where the platform shines and where it falls short.
SWOT — strengths, weaknesses, and use-case fit
Strengths
Weaknesses
Where it works
Where it struggles
Pricing tiers
Act! pricing overview
Act! sells two distinct deployment models with very different cost structures. Act! Premium Cloud is annual SaaS at roughly $30/user/month for the base tier and ~$40/user/month for the Plus tier (which bundles Act! Marketing Automation). Act! Premium Desktop is perpetual licensing at roughly $370/user with ~20% annual maintenance — cheaper over a 5+ year horizon but requires customer-managed Windows/SQL Server infrastructure. Act! Marketing Automation as a standalone add-on starts around $79/month with tier-based contact and send-volume pricing. There are no published per-record or per-volume fees inside the CRM itself — pricing is purely seat-based.
Act! Premium Cloud
Tier 1 of 3
~$30/user/month (annual)
What's included
Need help selecting your CRM?
Book a free 30 minute consultationPricing is informational. FlitStack AI does not bill on Act!'s schedule — see our quote-based pricing →
What gets migrated
Act! object support
Object-by-object support for Act! migrations. Per-pair details surface during scoping.
Contacts
Fully supportedContacts are Act!'s primary record. Full export via the Act! Web API (/api/contacts) for Cloud tenants and direct SQL Server SELECT on tbl_Contact for Desktop deployments. We preserve every standard and custom field including the long-tail of legacy fields that accumulated across Act! versions (Personal, Home, Spouse, Children, Assistant). Secondary Contact records linked to a primary Contact migrate as additional Contact records with a relationship custom field pointing back to the primary.
Companies
Fully supportedCompanies in Act! are optional — many small-business installations skip them and put company info on the Contact record. We detect this pattern during scoping and either map Companies → Organization records in the destination, or roll up Contact.Company_Name into a derived Organization. Custom Company fields export via the Web API or tbl_Company table.
Groups
Mapping requiredAct! Groups are a flexible categorization mechanism used for segmentation, mailing lists, and sub-organization. Static Groups (manually maintained membership) map to Lists/Tags/Static Segments in the destination. Dynamic Groups (rule-based) require rule translation — we capture the Act! query criteria and re-build equivalent filters as Smart Lists or Saved Views in the destination.
Opportunities
Fully supportedOpportunities export from /api/opportunities (Cloud) or tbl_Opportunity (Desktop). Standard fields (name, value, stage, weighted forecast, close date, probability, status) map directly to Deal/Opportunity in destination CRMs. Stage names are Act!-tenant-specific (e.g., 'Initial Communication', 'Quote Sent', 'Closed Won') and require a stage mapping table built during scoping.
Opportunity Products
Mapping requiredOpportunity line items (Products) export from the Opportunity Products sub-object. Each line carries SKU, name, quantity, unit price, discount, and extended price. We pre-create Products in the destination as a master list, then attach line items to Opportunities via the destination's deal-products endpoint where supported (HubSpot, Pipedrive, Salesforce). Destinations without a native deal-product object receive line items as a JSON note on the Deal.
Activities
Fully supportedAct! Activities (Calls, Meetings, To-dos, Personal Activities) export with scheduled date, duration, subject, attendees, location, and Series identifier for recurring activities. We expand recurring series into individual occurrences (capped at the active window the customer specifies — typically the next 12 months and the last 2 years of history) and map to the destination's Task/Activity/Event objects. Pre-scheduled activities in the future migrate first so the salesperson's calendar continues uninterrupted.
History
Fully supportedHistory items are Act!'s completed-activity audit log — every call logged, email sent, meeting held, and note created. These are read-heavy and high-volume (often the largest table in the database). We chunk by date range during export to avoid timing out the API or SQL query, and map each history item to a Note/Task/Activity in the destination tagged with the original timestamp so the timeline reads correctly.
Notes
Fully supportedNotes attached to Contacts, Companies, Groups, or Opportunities export with author, timestamp, and rich-text body. We strip Act!-proprietary RTF formatting and convert to HTML or plain text depending on what the destination's Note object accepts. Note attachments (where Act! stores them inline) extract to a temp folder and re-upload as Attachments on the destination record.
Documents
Mapping requiredDocuments attached to Contacts and Opportunities are stored in Act!'s Supplemental Files folder (Desktop) or the Web API attachment endpoint (Cloud). We download each file individually and re-upload to the destination, preserving filename, mime type, and the parent record link. Very large document libraries (>50 GB) typically take a dedicated migration window. Documents stored as links rather than embedded files migrate as URL references.
Custom Tables
Mapping requiredAct! Premium v18 and later support Custom Tables — tenant-defined object types beyond the standard schema (e.g., Policies for an insurance agency, Properties for a real estate firm). These map to the destination's Custom Objects where supported (HubSpot Enterprise, Salesforce Professional+, Zoho Ultimate, Pipedrive). Destinations without custom-object support receive Custom Table data as a related Contact note with the structured fields serialized as a JSON block.
Secondary Contacts
Mapping requiredSecondary Contacts are Act!'s mechanism for tracking assistants, spouses, or alternative decision-makers linked to a primary Contact. We migrate each as a standalone Contact in the destination with a custom field 'Primary Contact' pointing back to the parent record so the relationship is preserved without duplicating engagement history.
Users
Fully supportedAct! User records (name, email, role) export from the Users table and map to Users in the destination. We match by email. Inactive Act! users are excluded by default unless they own records that must retain provenance; in that case we either re-activate them in the destination as service accounts or re-assign their records to a designated 'Legacy Migrations' user.
Act! Marketing Automation Audiences
Mapping requiredAct! Marketing Automation Audiences (segments used for email campaigns) export via the AMA add-on API. We map them to Lists, Tags, or Audience Segments in the destination depending on what the destination's marketing layer supports (HubSpot Lists, Salesforce Campaign Members, Mailchimp Audiences). Campaign send history does not migrate by default but can be replicated as engagement notes if the customer requests it.
| Object | Support | Notes |
|---|---|---|
| Contacts | Fully supported | Contacts are Act!'s primary record. Full export via the Act! Web API (/api/contacts) for Cloud tenants and direct SQL Server SELECT on tbl_Contact for Desktop deployments. We preserve every standard and custom field including the long-tail of legacy fields that accumulated across Act! versions (Personal, Home, Spouse, Children, Assistant). Secondary Contact records linked to a primary Contact migrate as additional Contact records with a relationship custom field pointing back to the primary. |
| Companies | Fully supported | Companies in Act! are optional — many small-business installations skip them and put company info on the Contact record. We detect this pattern during scoping and either map Companies → Organization records in the destination, or roll up Contact.Company_Name into a derived Organization. Custom Company fields export via the Web API or tbl_Company table. |
| Groups | Mapping required | Act! Groups are a flexible categorization mechanism used for segmentation, mailing lists, and sub-organization. Static Groups (manually maintained membership) map to Lists/Tags/Static Segments in the destination. Dynamic Groups (rule-based) require rule translation — we capture the Act! query criteria and re-build equivalent filters as Smart Lists or Saved Views in the destination. |
| Opportunities | Fully supported | Opportunities export from /api/opportunities (Cloud) or tbl_Opportunity (Desktop). Standard fields (name, value, stage, weighted forecast, close date, probability, status) map directly to Deal/Opportunity in destination CRMs. Stage names are Act!-tenant-specific (e.g., 'Initial Communication', 'Quote Sent', 'Closed Won') and require a stage mapping table built during scoping. |
| Opportunity Products | Mapping required | Opportunity line items (Products) export from the Opportunity Products sub-object. Each line carries SKU, name, quantity, unit price, discount, and extended price. We pre-create Products in the destination as a master list, then attach line items to Opportunities via the destination's deal-products endpoint where supported (HubSpot, Pipedrive, Salesforce). Destinations without a native deal-product object receive line items as a JSON note on the Deal. |
| Activities | Fully supported | Act! Activities (Calls, Meetings, To-dos, Personal Activities) export with scheduled date, duration, subject, attendees, location, and Series identifier for recurring activities. We expand recurring series into individual occurrences (capped at the active window the customer specifies — typically the next 12 months and the last 2 years of history) and map to the destination's Task/Activity/Event objects. Pre-scheduled activities in the future migrate first so the salesperson's calendar continues uninterrupted. |
| History | Fully supported | History items are Act!'s completed-activity audit log — every call logged, email sent, meeting held, and note created. These are read-heavy and high-volume (often the largest table in the database). We chunk by date range during export to avoid timing out the API or SQL query, and map each history item to a Note/Task/Activity in the destination tagged with the original timestamp so the timeline reads correctly. |
| Notes | Fully supported | Notes attached to Contacts, Companies, Groups, or Opportunities export with author, timestamp, and rich-text body. We strip Act!-proprietary RTF formatting and convert to HTML or plain text depending on what the destination's Note object accepts. Note attachments (where Act! stores them inline) extract to a temp folder and re-upload as Attachments on the destination record. |
| Documents | Mapping required | Documents attached to Contacts and Opportunities are stored in Act!'s Supplemental Files folder (Desktop) or the Web API attachment endpoint (Cloud). We download each file individually and re-upload to the destination, preserving filename, mime type, and the parent record link. Very large document libraries (>50 GB) typically take a dedicated migration window. Documents stored as links rather than embedded files migrate as URL references. |
| Custom Tables | Mapping required | Act! Premium v18 and later support Custom Tables — tenant-defined object types beyond the standard schema (e.g., Policies for an insurance agency, Properties for a real estate firm). These map to the destination's Custom Objects where supported (HubSpot Enterprise, Salesforce Professional+, Zoho Ultimate, Pipedrive). Destinations without custom-object support receive Custom Table data as a related Contact note with the structured fields serialized as a JSON block. |
| Secondary Contacts | Mapping required | Secondary Contacts are Act!'s mechanism for tracking assistants, spouses, or alternative decision-makers linked to a primary Contact. We migrate each as a standalone Contact in the destination with a custom field 'Primary Contact' pointing back to the parent record so the relationship is preserved without duplicating engagement history. |
| Users | Fully supported | Act! User records (name, email, role) export from the Users table and map to Users in the destination. We match by email. Inactive Act! users are excluded by default unless they own records that must retain provenance; in that case we either re-activate them in the destination as service accounts or re-assign their records to a designated 'Legacy Migrations' user. |
| Act! Marketing Automation Audiences | Mapping required | Act! Marketing Automation Audiences (segments used for email campaigns) export via the AMA add-on API. We map them to Lists, Tags, or Audience Segments in the destination depending on what the destination's marketing layer supports (HubSpot Lists, Salesforce Campaign Members, Mailchimp Audiences). Campaign send history does not migrate by default but can be replicated as engagement notes if the customer requests it. |
Gotchas
What to watch for in Act! migrations
Issues we've hit on past Act! migrations, tagged by severity. FlitStack AI handles every one — surfacing them up front because buyer engineering teams want to know.
Act! Premium Desktop and Cloud use different export paths and cannot share a single migration script
Act! Custom Tables (v18+) have no standardized schema across customers
Activity Series (recurring activities) explode into thousands of occurrences
Act! Marketing Automation campaign history is in a separate database
Act! contact layouts can hide fields without dropping them from the schema
Document attachments in Act! Desktop are file-system pointers, not blobs
| Severity | Issue |
|---|---|
| High | Act! Premium Desktop and Cloud use different export paths and cannot share a single migration script |
| High | Act! Custom Tables (v18+) have no standardized schema across customers |
| Medium | Activity Series (recurring activities) explode into thousands of occurrences |
| Medium | Act! Marketing Automation campaign history is in a separate database |
| Low | Act! contact layouts can hide fields without dropping them from the schema |
| Low | Document attachments in Act! Desktop are file-system pointers, not blobs |
Leaving Act!?
Where Act! customers move next
12 destinations Act! can migrate to.
How a Act! migration works
Four steps, Act!-specific
Connect
OAuth 2.0 for Act! Premium Cloud Web API; HTTP Basic Auth for legacy Act! Desktop Web API installations into Act!. Scopes limited to read-only on the data we move.
Map
We translate Act!-specific structures (custom fields, objects, value lists) to the destination's model.
Sample
Test with a 50–200 record subset to validate Act! quirks before production.
Migrate
Full migration with Act! rate-limit handling. Rollback available throughout.
FAQ
Act! migration FAQ
Answers to the questions buyers ask most during Act! migration scoping. Not seeing yours? Book a call.
Can't find your answer?
Walk through your Act! migration with a real engineer — 30 minutes, free, written quote within 24 hours.
Book a free 30 minute consultationReady when you are
Migrate Act!.
Without the rebuild.
Free scoping call with a migration engineer. Tell us about your Act! setup and destination — written quote back within a business day.