Welcome to the Interactions documentation. If you need support with your integration, email support@interactions.co.in. Here are some helpful links:

What is Skyline?

Skyline lets you build an agent once and connect it to the places your users already are. A user might message you in iMessage today and your app next week. Without Skyline, each interface becomes a separate integration with its own authentication, events, message formats, edge cases, and tools. With Skyline, you run one agent server and add providers for the interfaces you want to support. Each provider connects a native interface to the same Skyline API, so your agent can feel consistent everywhere. Today, Skyline supports iMessage, WhatsApp Business, and a terminal provider for local development. The same model extends to more interfaces over time.

Supported interfaces today

iMessage

Production iMessage agents through managed lines.

WhatsApp Business

Meta Cloud API — templates, media, and interactive messages.

Terminal

Build, test, and demo agents from your local terminal.

The agent server model

Skyline is designed around a simple idea: your agent should run once. Your Skyline server owns the product behavior: routing, tools, memory, handoff, safety, analytics, and anything else your agent needs. Providers own the interface work: connecting to each platform, receiving events, sending messages, and exposing native features when they exist. That keeps your code small. You add providers, but the agent loop stays the same:
import { Skyline, imessage, terminal } from "@interactions-hq/skyline";

const app = await Skyline({
  projectId: process.env.SKYLINE_PROJECT_ID!,
  projectSecret: process.env.SKYLINE_PROJECT_SECRET!,
  providers: [
    imessage.config(),
    terminal.config(),
  ],
});

for await (const [space, message] of app.messages) {
  if (message.content.type !== "text") continue;
  await space.send("How can I help?");
}
Every provider feeds the same inbound feed. Your agent can send, react, reply, and use platform-specific features only when it needs them.

Built for production messaging

Skyline is most mature on iMessage — managed lines, typing, reactions, threaded replies, attachments, mini-app cards, and automatic token renewal. WhatsApp Business uses the same Skyline() entrypoint and merged app.messages feed.

iMessage provider

Connect to managed iMessage lines.

WhatsApp providers

Personal and Business WhatsApp on one SDK.

Manage Skyline your way

You do not have to manage Skyline only from the dashboard. Use the dashboard for setup, the API for automation, and the sky CLI for terminal workflows and scripts.

Dashboard

Configure projects, users, lines, platforms, and profile settings from the browser.

API reference

Automate Skyline management from your own systems and test live requests.

CLI

Script profile updates, users, lines, platform toggles, and avatars from a terminal.

Where to go next

Get started

Install @interactions-hq/skyline and send your first message.

Webhooks

Receive messages via HTTP with signed webhook deliveries.