This involves several things:
1) You have to be friendly with the civ, that means that your controllable civ and the civ you want to be friendly need to have (or not have) the [BABYSNATCHER] and the [ITEM_THIEF] tags, in entity_default.txt
Side Effects: [BABYSNATCHER] civs will kidnap members of other civs in world gen, so don't be surprised to find a Kobold cave with goblin prisioners or goblin friendlies or humans or dwarves, etc if you add the tag to the kobolds... the same for the other civs and your own, they'll behave like the Goblins do and have individuals of other civs in their own cities. Besides that nothing that breaks the game as far as I've seen...
[ITEM_THIEF], breaks the game in the sense of the amounts of wealth you trade, exports won't get counted... this breaks the game for triggers that count on exported wealth....
2) The civ needs to have a way to haul the caravan items, that means access to a creature with the [PACK_ANIMAL] tag, the easiest way to do this is adding [COMMON_PACK] to the civ in entity_default.txt
Other way is adding the [PACK_ANIMAL] tag to a creature you know for sure the civ will have access to, although this can be tricky...
I managed to add [PACK_ANIMAL] to Trolls and Goblins brought them as haulers with their caravans. for some odd reason Goblins always have access to Trolls...
Side Effects: adding [COMMON_PACK] give access to mules, horses, and the like... it might seem odd from a role-playing point of view to see goblins bringing horses....
3) The [ACTIVE_SEASON] tags control the frequency of the caravans, by adding all the seasons you get caravans every season
4) Do you want a guarded caravan or unguarded (like elves), add [MERCHANT_BODYGUARDS], that would do the trick....
5) Do you want to get a diplomat that lets you order stuff from the caravan? I need I little help here
I've tried adding a diplomat but didn't work...