The Act! Web API has become a central part of Act! subscription, but few people know much about it. For instance, how can Act! rely on the Act! WebAPI for internal features like Dynamic Dashboard, Insight, and Office integration right out of the box without any setup, but external integrations like Act! Marketing Automation, Companion, Linktivity and Zapier connectivity won’t work without the WebAPI being set up on the customer's computer, or with API address from a hosting provider?
The reason is the WebAPI has two components, the API service, and API publishing, and all too many people think they are one and the same, but they’re not. Here’s how you can tell.
When you install Act! right out of the box, internal features like Dynamic Dashboard, Insight Reporting, and Office integration all work because the data and the service interact locally. There is no Internet-facing address for them to connect through because all data connections on all workstations for these features are local on each machine with a database. The Act! Web API host service (Act! Web API Host) gets installed with Act! instance, and in cases of shared databases, the API service gets shared behind the firewall for the other network users (see below).
External connectivity like AMA, Companion, or Linktivity products are very different because the Act! Web API has to be published to the outside world to receive connection requests from outside the computer or network firewall. The most common method for publishing the Act! Web API is with Internet Information Services (IIS) or through Act! Connect Link (ACL).
Most people, though, get confused thinking the publishing of the Web API is the same thing as the WebAPI itself, and therefore cannot account for how internal features like Dynamic Dashboards and Insights work without API setup.
Think of it this way, when using internal API functions the Act! program doesn’t need help finding the Web API service because it uses the local hostname, but features like Linktivity and Companion interact on the Internet with other devices and users where computer host names are unrecognizable and therefore require a secure Internet address for these services to find their way back to the database.
The simplest setup for this is a free service Act! provides with subscription called Act! Connect Link. This service creates a secure tunnel to the outside world and then creates a dynamic address that is unique to that account (click HERE to watch an ACL setup tutorial). Act! Premium users can also publish the Web API using IIS, but this requires a compatible operating system and the appropriate port forwarding on the network’s router to direct external API requests back to the right internal server.
The other difference between internal and external API functions is internal ones can be set up to connect on each workstation or shared database across a network, but external connections should only be set up once per account. If your database is hosted by Act! or an authorized Hosting provider, this service is set up for you, and they’ll provide you a Web API Address to use. In cases where you’re self-hosted, the Web API should be published on one machine (preferably with the master database), and all users will use that Internet address to connect to the one database. Using the master database is recommended because the Web API can be used to create new fields for some programs to work, and this can only be done on the master database.
In summary, the Act! Web API service gets installed automatically with Act! on each workstation to serve internal functions, but external connectivity should only be set up once per account using ACL, IIS, or a hosting provider's service to allow the Internet to connect with the same Web API service. The Service and the Publishing are not the same things.