Why
A Full Cycle agent is three pieces linked by one list: a source agent finds leads that match your ideal customer and adds them to the list, and a campaign reaches out to everyone on that list. Set it up once and it keeps sourcing and contacting new leads every day. With the MCP server, one prompt builds all three:“Create a list called ‘Heads of Sales FR’, a source agent that finds Heads of Sales at French SaaS companies of 51 to 200 people who use HubSpot or are hiring, and a LinkedIn campaign with a connection request and two AI messages. Show me everything before you activate it.”The assistant chains
create_list, create_agent, list_campaigns (to find your LinkedIn seat), create_campaign, and activate_campaign once you approve. The steps below are the same calls through the API.
Send Authorization: Bearer YOUR_API_KEY. The base URL is https://ext.gojiberry.ai.
1
Create the list
POST /v1/list creates the list that links the agent and the campaign.MCP tool: create_listid, here 321.2
Create the source agent
POST /v1/agent describes your ideal customer and the signals that make a lead worth contacting now. listId is the list from the previous step.MCP tool: create_agentvariables are the signals, 4 to 15 of them. The value format depends on the type: a quoted keyword of 1 to 3 words, a LinkedIn page URL, "true" for events like HIRING, or a lowercase technology name. Values are not validated, so a typo saves fine and then finds nothing.The response is the agent. If your account is at its active agent limit, the agent is created paused.3
Find your LinkedIn seat
LinkedIn steps are sent from a connected LinkedIn seat. The API has no seat listing yet:
GET /v1/campaign returns your campaigns, and linkedinSeatId on any of them is the id to reuse. For email steps, GET /v1/email-seat lists your mailboxes.MCP tool: list_campaigns, and list_email_seats for email.4
Create the campaign, inactive
POST /v1/campaign defines the outreach. listIds holds the list from the first step. A new campaign starts active by default, so pass "active": false to review it before anything is sent.MCP tool: create_campaigndelayAfterLastStep is at least 1 day. "messageMode": "ai" writes each message for each contact; "same" sends your message as is, with variables such as [FirstName] and [Company].The response is the campaign. Keep its id, here 55.5
Activate it
PATCH /v1/campaign/{id}/status starts the daily outreach. The launch hours are set in the LinkedIn seat settings in the app.MCP tool: activate_campaign. The assistant asks you to confirm first, since this sends real messages.400. This endpoint allows 10 calls per minute.6
Follow the results
GET /v1/agent/{id}/logsshows what the source agent did (MCPget_agent_logs).GET /v1/contact?listId=321lists the leads it added (MCPlist_contacts).GET /v1/campaign/{id}/logsshows invitations, messages, and replies (MCPget_campaign_logs).
.png?fit=max&auto=format&n=fLzJlZyi7L0nfF9B&q=85&s=7dc539f8ea9f771a09a9750c1227ebdb)
.png?fit=max&auto=format&n=fLzJlZyi7L0nfF9B&q=85&s=e742bcbb4bd47cd295da36c48cdd6089)